U:TwitterCldr::Utils::Trieo:#TwitterCldr::Utils::Trie::Node: @value0:@children{6io;;i;{7io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{ io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{ io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;i;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{ io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{ io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{ io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{ io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{ io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{ io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{ io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{ io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{ io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;i;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{ io;;i;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;i;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{ io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{ io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{.io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{ io;;0;{io;;i;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{ io;;i;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{!io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{ io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{ io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{ io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{ io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{ io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;i;{io;;i;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{ io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{ io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{ io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{ io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{ io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;i;{io;;i;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{ io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{ io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{2io;;i;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{ io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{ io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{ io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;i;{ io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{ io;;0;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;i;{io;;0;{io;;i;{io;;i;{ io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{ io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{ io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{ io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{ io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{ io;;i;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{.io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{ io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{ io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;i;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{ io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{ io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{ io;;0;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{ io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{ io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;i;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{ io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;i;{io;;i;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{ io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{ io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{ io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;i;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;i;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{ io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{ io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{2io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{ io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{ io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{ io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{ io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{ io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{ io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{ io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{ io;;i;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{ io;;i;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{"io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{ io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{#io;;i;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{ io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{ io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;i;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;i;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{ io;;i;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{ io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{ io;;i;{ io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{ io;;i;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{ io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{ io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{ io;;0;{ io;;i;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{!io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{ io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;i;{io;;i;{io;;i;{io;;i;{io;;i;{io;;i;{io;;i;{ io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{*io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;i;{ io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{ io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{ io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{ io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{ io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{ io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{ io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{ io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;i;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{ io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{ io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{ io;;0;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;i;{io;;i;{ io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{ io;;0;{io;;i;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;i;{io;;i;{%io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{ io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{ io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{ io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{ io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{ io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{ io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{ io;;i;{ io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{ io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{ io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{ io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{ io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{$io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;i;{io;;0;{ io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{ io;;i;{ io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{ io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{ io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{%io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{ io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{ io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{ io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{ io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{ io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;i;{io;;i;{ io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{-io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{ io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{ io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{!io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{ io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{#io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{ io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{ io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{ io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{"io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{ io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{ io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;i;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{ io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{ io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{ io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{ io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{ io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{ io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{ io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{ io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{ io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{ io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{ io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{ io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{ io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;i;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{ io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{ io;;i;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{ io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{ io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{!io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{ io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{ io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;i;{ io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{ io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;i;{io;;i;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{ io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{%io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{ io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{ io;;0;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{ io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;i;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{ io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{ io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{ io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{ io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{ io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{"io;;0;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{ io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{ io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;i;{io;;i;{ io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{ io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{ io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{7io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{ io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{ io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{ io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{$io;;i;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{ io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{ io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{ io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{ io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{ io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{ io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{ io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{ io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{.io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{ io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{ io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{ io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{ io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{ io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;i;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;i;{io;;0;{ io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{"io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{ io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{ io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{ io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{1io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{ io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{ io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{ io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{ io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{ io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{ io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;i;{!io;;0;{ io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{ io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{ io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{ io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{ io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{ io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{ io;;0;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{ io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{ io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{ io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{ io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{)io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{ io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{ io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{ io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{ io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{ io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{ io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{ io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;i;{io;;i;{io;;i;{io;;0;{ io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{ io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{ io;;i;{io;;0;{io;;i;{io;;i;{!io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;i;{ io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{0io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{ io;;i;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{ io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{ io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{ io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{ io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{ io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{"io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{ io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{ io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;i;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{ io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{6io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{ io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{ io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{ io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{ io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{ io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{ io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{ io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{ io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{ io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;i;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{ io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{ io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;i;{ io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{ io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;i;{ io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;i;{ io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{ io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{ io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{ io;;i;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{ io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{!io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{ io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{ io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{!io;;0;{ io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{ io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{ io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{ io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{ io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{ io;;i;{io;;0;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;i;{io;;i;{ io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{ io;;0;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{ io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{ io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{ io;;i;{io;;0;{ io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{ io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{ io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{ io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{ io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{ io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{ io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{ io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{ io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{(io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{ io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{ io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{ io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{ io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{ io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{ io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{ io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{ io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{:io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{ io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{ io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{ io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{ io;;i;{io;;0;{io;;i;{io;;0;{ io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{ io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{i o;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{ io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{ io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;i;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{ io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{ io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{ io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{ io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{"io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{ io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{ io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{ io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{ io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{ io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{ io;;i;{ io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;i;{io;;i;{ io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{ io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{ io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{ io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{ io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{ io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{ io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{ io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{ io;;i;{io;;i;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{,io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{ io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{ io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{ io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;i;{io;;0;{io;;0;{ io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{ io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{ io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{ io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{ io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{ io;;0;{ io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{ io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{ io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{ io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;i;{ io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{ io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{ io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{ io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{ io;;i;{ io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{ io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{%io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{ io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{ io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{ io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{ io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;i;{ io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{ io;;i;{io;;0;{ io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{!io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{"io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{(io;;0;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{ io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{ io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{ io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{ io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{ io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{ io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;i;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{ io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{ io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{ io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{ io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{ io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{5io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{ io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{ io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{#io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{ io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{ io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{ io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{ io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{ io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{)io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{ io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{ io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{"io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{ io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{"io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{ io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{ io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;i;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{#io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{ io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{ io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{ io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{ io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{ io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{ io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{ io;;i;{io;;i;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{ io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;i;{ io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{ io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;i;{ io;;0;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{ io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{i o;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{,io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{ io;;0;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{ io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{ io;;0;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{?io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{ io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{&io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{ io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{ io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{ io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{ io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{ io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{ io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{ io;;0;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{ io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{ io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{ io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{ io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;i;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{ io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{ io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{ io;;i;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{ io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;i;{io;;i;{io;;i;{io;;i;{io;;i;{io;;i;{ io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{ io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{ io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{ io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{$io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{ io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{ io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{ io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{ io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{ io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{ io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{i o;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{,io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{ io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{"io;;0;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{ io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{ io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{ io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{ io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{ io;;i;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{ io;;i;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{ io;;0;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{ io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{ io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{ io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{ io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{ io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{/io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{ io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{ io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{ io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{ io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{ io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;i;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{ io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{ io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;i;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{ io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{i o;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{ io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{ io;;0;{ io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{ io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{ io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{ io;;i;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{ io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{ io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{ io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;i;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;i;{"io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{2io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;i;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{ io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;i;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{ io;;0;{ io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{ io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;i;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{ io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{"io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{ io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{ io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{ io;;i;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{ io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{ io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{ io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;i;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{ io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{ io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{ io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{ io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{ io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{ io;;i;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{ io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{ io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{ io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{ io;;i;{io;;0;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{ io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{ io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{ io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{ io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{ io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{ io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{8io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{ io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;i;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{ io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{ io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{ io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{ io;;i;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{ io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{ io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{ io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{ io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;i;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{ io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{ io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{ io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{(io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{ io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{ io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{ io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{ io;;i;{io;;0;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{ io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{ io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;i;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{ io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;i;{io;;i;{ io;;i;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{ io;;0;{ io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{ io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{i o;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{"io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{ io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;i;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{ io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{$io;;i;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{ io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{ io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{ io;;0;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;i;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{!io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;i;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{ io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;i;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{ io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{ io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{ io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{ io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{$io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{ io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{ io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{ io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{ io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{ io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{ io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{ io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;i;{ io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{#io;;i;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{ io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{ io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{i o;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{ io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{ io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{ io;;i;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{ io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;i;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{ io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{ io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;i;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{ io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{ io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{ io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{ io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{ io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{ io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{ io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{ io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{ io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;i;{io;;i;{io;;i;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{ io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{0io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{ io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{ io;;i;{io;;i;{io;;i;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{ io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{ io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;i;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;i;{io;;0;{io;;0;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{ io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{ io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{ io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{#io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;i;{ io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{ io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;i;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{,io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{ io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{ io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{ io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{ io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{ io;;0;{ io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{ io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;i;{ io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{ io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{i o;;0;{io;;0;{io;;i;{io;;i;{i o;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{ io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{ io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{ io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;i;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{ io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{ io;;i;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{ io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{i o;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{ io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{ io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{ io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;0;{io;;i;{io;;i;{io;;i;{ io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{io;;i;{ io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{ io;;i;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;0;{io;;i;{io;;0;{io;;0;{io;;i;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;0;{io;;0;{io;;0;{io;;0;{io;;0;{io;;i;{io;;i;{io;;i;{