Language: C++

%0A%23ifndef%20TEMPLATE_HPP%0A%23define%20TEMPLATE_HPP%0A%0A%23include%20%3Calgorithm%3E%0A%23include%20%3Cbitset%3E%0A%23include%20%3Ccmath%3E%0A%23include%20%3Cdeque%3E%0A%23include%20%3Cfunctional%3E%0A%23include%20%3Ciomanip%3E%0A%23include%20%3Ciostream%3E%0A%23include%20%3Citerator%3E%0A%23include%20%3Clist%3E%0A%23include%20%3Cmap%3E%0A%23include%20%3Cmemory%3E%0A%23include%20%3Cnumeric%3E%0A%23include%20%3Cset%3E%0A%23include%20%3Cstring%3E%0A%23include%20%3Ctuple%3E%0A%23include%20%3Ctype_traits%3E%0A%23include%20%3Cunordered_map%3E%0A%23include%20%3Cunordered_set%3E%0A%23include%20%3Cutility%3E%0A%23include%20%3Cvector%3E%0A%0A%23define%20_GLIBCXX_DEBUG%0A%0A%2F%2F%20Utility%0Ausing%20std%3A%3Adeclval%3B%0Ausing%20std%3A%3Adistance%3B%0Ausing%20std%3A%3Aenable_if_t%3B%0Ausing%20std%3A%3Aget%3B%0Ausing%20std%3A%3Aindex_sequence%3B%0Ausing%20std%3A%3Ais_array%3B%0Ausing%20std%3A%3Ais_pointer%3B%0Ausing%20std%3A%3Ais_same%3B%0Ausing%20std%3A%3Aiterator_traits%3B%0Ausing%20std%3A%3Amake_index_sequence%3B%0Ausing%20std%3A%3Amake_pair%3B%0Ausing%20std%3A%3Amake_tuple%3B%0Ausing%20std%3A%3Amake_unique%3B%0Ausing%20std%3A%3Arandom_access_iterator_tag%3B%0Ausing%20std%3A%3Astold%3B%0Ausing%20std%3A%3Astoll%3B%0Ausing%20std%3A%3Aoperator%22%22s%3B%0Ausing%20std%3A%3Aabs%3B%0A%0A%2F%2F%20Types%0Ausing%20std%3A%3Abitset%3B%0Ausing%20std%3A%3Adeque%3B%0Ausing%20std%3A%3Alist%3B%0Ausing%20std%3A%3Amultiset%3B%0Ausing%20std%3A%3Anullptr_t%3B%0Ausing%20std%3A%3Apair%3B%0Ausing%20std%3A%3Atuple%3B%0Ausing%20std%3A%3Aunordered_multimap%3B%0Ausing%20std%3A%3Aunordered_multiset%3B%0Ausing%20ll%20%3D%20%2F%2A%2A%20__int128%3B%20%2F%2F%2A%2F%20long%20long%20int%3B%0Ausing%20lf%20%3D%20long%20double%3B%0Ausing%20str%20%3D%20std%3A%3Astring%3B%0Atemplate%20%3Cclass%20T%3E%20using%20u_set%20%3D%20std%3A%3Aunordered_set%3CT%3E%3B%0Atemplate%20%3Cclass%20T%3E%20using%20vec%20%3D%20std%3A%3Avector%3CT%3E%3B%0Ausing%20vecl%20%3D%20vec%3Cll%3E%3B%0Ausing%20vecf%20%3D%20vec%3Clf%3E%3B%0Ausing%20vecs%20%3D%20vec%3Cstr%3E%3B%0Atemplate%20%3Cclass%20K%2C%20class%20V%3E%20using%20u_map%20%3D%20std%3A%3Aunordered_map%3CK%2C%20V%3E%3B%0Atemplate%20%3Cclass%20V%3E%20using%20graph%20%3D%20u_map%3CV%2C%20u_set%3CV%3E%3E%3B%0Atemplate%20%3Ctypename%20_Signature%3E%20using%20fun%20%3D%20std%3A%3Afunction%3C_Signature%3E%3B%0A%0A%2F%2F%20Algorithms%0Ausing%20std%3A%3Aaccumulate%3B%0Ausing%20std%3A%3Aall_of%3B%0Ausing%20std%3A%3Aany_of%3B%0Ausing%20std%3A%3Aback_inserter%3B%0Ausing%20std%3A%3Acopy%3B%0Ausing%20std%3A%3Acopy_if%3B%0Ausing%20std%3A%3Acount%3B%0Ausing%20std%3A%3Acount_if%3B%0Ausing%20std%3A%3Afind_if%3B%0Ausing%20std%3A%3Afor_each%3B%0Ausing%20std%3A%3Ainserter%3B%0Ausing%20std%3A%3Alower_bound%3B%0Ausing%20std%3A%3Amax%3B%0Ausing%20std%3A%3Amax_element%3B%0Ausing%20std%3A%3Amin%3B%0Ausing%20std%3A%3Amin_element%3B%0Ausing%20std%3A%3Anext_permutation%3B%0Ausing%20std%3A%3Anone_of%3B%0Ausing%20std%3A%3Apartial_sum%3B%0Ausing%20std%3A%3Aremove_if%3B%0Ausing%20std%3A%3Areplace_if%3B%0Ausing%20std%3A%3Areverse%3B%0Ausing%20std%3A%3Aset_difference%3B%0Ausing%20std%3A%3Aset_intersection%3B%0Ausing%20std%3A%3Aset_symmetric_difference%3B%0Ausing%20std%3A%3Aset_union%3B%0Ausing%20std%3A%3Asort%3B%0Ausing%20std%3A%3Aswap%3B%0Ausing%20std%3A%3Atransform%3B%0Ausing%20std%3A%3Aunique%3B%0Ausing%20std%3A%3Aupper_bound%3B%0A%0Anamespace%20utils%20%7B%0Astr%20to_string%28__int128%20const%20%26x%29%20%7B%20return%20std%3A%3Ato_string%28%28long%20long%29x%29%3B%20%7D%0Atemplate%20%3Cclass%20T%3E%20T%20clamp%28T%20const%20%26v%2C%20T%20const%20%26l%2C%20T%20const%20%26h%29%20%7B%0A%20%20return%20min%28h%2C%20max%28l%2C%20v%29%29%3B%0A%7D%0All%20gcd%28ll%20p%2C%20ll%20q%29%20%7B%20return%20%28q%20%3D%3D%200%29%20%3F%20p%20%3A%20gcd%28q%2C%20p%20%25%20q%29%3B%20%7D%0All%20lcm%28ll%20p%2C%20ll%20q%29%20%7B%20return%20p%20%2F%20gcd%28q%2C%20p%29%20%2A%20q%3B%20%7D%0A%7D%20%2F%2F%20namespace%20utils%0Ausing%20std%3A%3Ato_string%3B%0Ausing%20utils%3A%3Aclamp%3B%0Ausing%20utils%3A%3Agcd%3B%0Ausing%20utils%3A%3Alcm%3B%0Ausing%20utils%3A%3Ato_string%3B%0A%0Anamespace%20io%20%7B%0A%2F%2F%20Input%0Ausing%20IS%20%3D%20std%3A%3Aistream%3B%0AIS%20%26in%28IS%20%26%29%3B%0AIS%20%26in%28IS%20%26i%29%20%7B%20return%20i%3B%20%7D%0Atemplate%20%3Cclass%20T%2C%20class...%20Ts%3E%20IS%20%26in%28IS%20%26i%2C%20T%20%26a%2C%20Ts%20%26...%20as%29%20%7B%0A%20%20return%20in%28i%20%3E%3E%20a%2C%20as...%29%3B%0A%7D%0AIS%20%26operator%3E%3E%28IS%20%26i%2C%20__int128%20%26x%29%20%7B%0A%20%20long%20long%20int%20xx%3B%0A%20%20i%20%3E%3E%20xx%3B%0A%20%20x%20%3D%20xx%3B%0A%20%20return%20i%3B%0A%7D%0Atemplate%20%3Cclass%20V%3E%20IS%20%26operator%3E%3E%28IS%20%26i%2C%20vec%3CV%3E%20%26a%29%20%7B%0A%20%20for%20%28auto%20%26ai%20%3A%20a%29%0A%20%20%20%20i%20%3E%3E%20ai%3B%0A%20%20return%20i%3B%0A%7D%0Atemplate%20%3Cclass%20F%2C%20class%20S%3E%20IS%20%26operator%3E%3E%28IS%20%26i%2C%20pair%3CF%2C%20S%3E%20%26p%29%20%7B%0A%20%20return%20i%20%3E%3E%20p.first%20%3E%3E%20p.second%3B%0A%7D%0Atemplate%20%3Cclass...%20Ts%3E%20IS%20%26operator%3E%3E%28IS%20%26i%2C%20tuple%3CTs...%3E%20%26t%29%20%7B%0A%20%20return%20apply%28%5B%26%5D%28auto%20%26...%20ts%29%20-%3E%20IS%20%26%20%7B%20return%20in%28i%2C%20ts...%29%3B%20%7D%2C%20t%29%3B%0A%7D%0A%2F%2F%20Output%0Ausing%20OS%20%3D%20std%3A%3Aostream%3B%0AOS%20%26out_join%28OS%20%26o%2C%20str%20const%20%26%29%20%7B%20return%20o%3B%20%7D%0Atemplate%20%3Cclass%20T%3E%20OS%20%26out_join%28OS%20%26o%2C%20str%20const%20%26%2C%20T%20const%20%26a%29%20%7B%0A%20%20return%20o%20%3C%3C%20a%3B%0A%7D%0Atemplate%20%3Cclass%20T%2C%20class...%20Ts%3E%0AOS%20%26out_join%28OS%20%26o%2C%20str%20const%20%26sep%2C%20T%20const%20%26a%2C%20Ts%20const%20%26...%20as%29%20%7B%0A%20%20return%20out_join%28o%20%3C%3C%20a%20%3C%3C%20sep%2C%20sep%2C%20as...%29%3B%0A%7D%0AOS%20%26operator%3C%3C%28OS%20%26o%2C%20__int128%20const%20%26x%29%20%7B%20return%20o%20%3C%3C%20%28long%20long%20int%29x%3B%20%7D%0Atemplate%20%3Cclass%20F%2C%20class%20S%3E%20OS%20%26operator%3C%3C%28OS%20%26o%2C%20pair%3CF%2C%20S%3E%20const%20%26p%29%20%7B%0A%20%20return%20o%20%3C%3C%20p.first%20%3C%3C%20%22%3A%22%20%3C%3C%20p.second%3B%0A%7D%0Atemplate%20%3Cclass...%20Ts%2C%20size_t...%20I%3E%0AOS%20%26tuple_out%28OS%20%26o%2C%20tuple%3CTs...%3E%20const%20%26t%2C%20index_sequence%3CI...%3E%29%20%7B%0A%20%20return%20out_join%28o%2C%20%22%2C%22%2C%20get%3CI%3E%28t%29...%29%3B%0A%7D%0Atemplate%20%3Cclass...%20Ts%3E%20OS%20%26operator%3C%3C%28OS%20%26o%2C%20tuple%3CTs...%3E%20const%20%26t%29%20%7B%0A%20%20return%20tuple_out%28o%20%3C%3C%20%22%28%22%2C%20t%2C%20make_index_sequence%3Csizeof...%28Ts%29%3E%28%29%29%20%3C%3C%20%22%29%22%3B%0A%7D%0Atemplate%20%3Cclass%20T%3E%20struct%20Joiner%20%7B%0A%20%20str%20const%20pre%3B%0A%20%20str%20const%20post%3B%0A%20%20str%20const%20sep%3B%0A%20%20vec%3CT%3E%20const%20container%3B%0A%20%20template%20%3Cclass%20Itr%3E%0A%20%20Joiner%28Itr%20const%20%26begin%2C%20Itr%20const%20%26end%2C%20str%20const%20%26sep%2C%20str%20const%20%26pre%2C%0A%20%20%20%20%20%20%20%20%20str%20const%20%26post%29%0A%20%20%20%20%20%20%3A%20pre%28pre%29%2C%20post%28post%29%2C%20sep%28sep%29%2C%20container%28begin%2C%20end%29%20%7B%7D%0A%7D%3B%0Atemplate%20%3Cclass%20T%3E%20OS%20%26operator%3C%3C%28OS%20%26o%2C%20Joiner%3CT%3E%20const%20%26joiner%29%20%7B%0A%20%20auto%20itr%20%3D%20joiner.container.begin%28%29%3B%0A%20%20auto%20end%20%3D%20joiner.container.end%28%29%3B%0A%20%20o%20%3C%3C%20joiner.pre%3B%0A%20%20if%20%28itr%20%21%3D%20end%29%0A%20%20%20%20o%20%3C%3C%20%2A%28itr%2B%2B%29%3B%0A%20%20while%20%28itr%20%21%3D%20end%29%0A%20%20%20%20o%20%3C%3C%20joiner.sep%20%3C%3C%20%2A%28itr%2B%2B%29%3B%0A%20%20return%20o%20%3C%3C%20joiner.post%3B%0A%7D%0Atemplate%20%3Cclass%20Itr%3E%0Aauto%20join%28Itr%20const%20%26b%2C%20Itr%20const%20%26e%2C%20str%20const%20%26sep%20%3D%20%22%22s%2C%0A%20%20%20%20%20%20%20%20%20%20str%20const%20%26pre%20%3D%20%22%22s%2C%20str%20const%20%26post%20%3D%20%22%22s%29%20%7B%0A%20%20using%20T%20%3D%20typename%20iterator_traits%3CItr%3E%3A%3Avalue_type%3B%0A%20%20return%20Joiner%3CT%3E%28b%2C%20e%2C%20sep%2C%20pre%2C%20post%29%3B%0A%7D%0Atemplate%20%3Cclass%20C%2C%20enable_if_t%3C%21is_same%3CC%2C%20str%3E%3A%3Avalue%20%26%26%20%21is_array%3CC%3E%3A%3Avalue%20%26%26%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%21is_pointer%3CC%3E%3A%3Avalue%20%26%26%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%21std%3A%3Ais_arithmetic%3CC%3E%3A%3Avalue%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20nullptr_t%3E%20%3D%20nullptr%3E%0AOS%20%26operator%3C%3C%28OS%20%26o%2C%20C%20const%20%26a%29%20%7B%0A%20%20return%20o%20%3C%3C%20join%28a.begin%28%29%2C%20a.end%28%29%2C%20%22%2C%22%2C%20%22%5B%22%2C%20%22%5D%22%29%3B%0A%7D%0A%7D%20%2F%2F%20namespace%20io%0Ausing%20std%3A%3Acerr%3B%0Ausing%20std%3A%3Acin%3B%0Ausing%20std%3A%3Acout%3B%0Aauto%20init_io%20%3D%20%5B%5D%28%29%20%7B%0A%20%20std%3A%3Aios_base%3A%3Async_with_stdio%28false%29%3B%0A%20%20cin.tie%28nullptr%29%3B%0A%20%20cout.tie%28nullptr%29%3B%0A%20%20cout%20%3C%3C%20std%3A%3Afixed%20%3C%3C%20std%3A%3Asetprecision%2815%29%3B%0A%7D%3B%0Aauto%20input%20%3D%20%5B%5D%28auto%20%26...%20a%29%20%7B%20io%3A%3Ain%28cin%2C%20a...%29%3B%20%7D%3B%0Aauto%20print%20%3D%20%5B%5D%28auto%20const%20%26...%20a%29%20%7B%20io%3A%3Aout_join%28cout%2C%20%22%20%22%2C%20a...%29%20%3C%3C%20%22%5Cn%22%3B%20%7D%3B%0A%23ifdef%20JUMPAKU_DEBUG%0Aauto%20dump%20%3D%20%5B%5D%28auto%20const%20%26...%20a%29%20%7B%20io%3A%3Aout_join%28cerr%2C%20%22%20%22s%2C%20a...%29%20%3C%3C%20%22%5Cn%22%3B%20%7D%3B%0A%23else%0Aauto%20dump%20%3D%20%5B%5D%28auto%20const%20%26...%29%20%7B%7D%3B%0A%23endif%0Ausing%20io%3A%3Ajoin%3B%0A%0A%2F%2F%20Hash%0Anamespace%20hashcode%20%7B%0Atemplate%20%3Cclass...%20Ts%3E%20size_t%20hash_args%28size_t%20h%2C%20Ts%20const%20%26...%20ts%29%3B%0Asize_t%20hash_args%28size_t%20h%29%20%7B%20return%20h%3B%20%7D%0Atemplate%20%3Cclass%20T%2C%20class...%20Ts%3E%0Asize_t%20hash_args%28size_t%20h%2C%20T%20const%20%26t%2C%20Ts%20const%20%26...%20ts%29%20%7B%0A%20%20constexpr%20std%3A%3Ahash%3CT%3E%20hasher%3B%0A%20%20return%20hash_args%28%28%28h%20%3C%3C%2019%29%20-%20h%29%20%5E%20hasher%28t%29%2C%20ts...%29%3B%0A%7D%0Atemplate%20%3Cclass...%20Ts%2C%20size_t...%20I%3E%0Asize_t%20hash_tuple%28tuple%3CTs...%3E%20const%20%26t%2C%20index_sequence%3CI...%3E%29%20%7B%0A%20%20return%20hash_args%2817%2C%20get%3CI%3E%28t%29...%29%3B%0A%7D%0A%7D%20%2F%2F%20namespace%20hashcode%0Anamespace%20std%20%7B%0A%23if%20__GNUC__%20%3D%3D%205%20%7C%7C%20defined%28__STRICT_ANSI__%29%0Atemplate%20%3C%3E%20struct%20hash%3C__int128%3E%20%7B%0A%20%20size_t%20operator%28%29%28__int128%20const%20%26t%29%20const%20%7B%0A%20%20%20%20return%20%28t%20%26%200xffffff%29%20%5E%20%28%28t%20%3E%3E%2063%29%20%26%200xffffff%29%3B%0A%20%20%7D%0A%7D%3B%0A%23endif%0Atemplate%20%3Cclass...%20Ts%3E%20struct%20hash%3Ctuple%3CTs...%3E%3E%20%7B%0A%20%20size_t%20operator%28%29%28tuple%3CTs...%3E%20const%20%26t%29%20const%20%7B%0A%20%20%20%20size_t%20h%20%3D%20hashcode%3A%3Ahash_tuple%28t%2C%20index_sequence_for%3CTs...%3E%28%29%29%3B%0A%20%20%20%20return%20h%20%5E%20%28h%20%3E%3E%2032%29%3B%0A%20%20%7D%0A%7D%3B%0Atemplate%20%3Cclass%20T%3E%20struct%20hash%3Cu_set%3CT%3E%3E%20%7B%0A%20%20size_t%20operator%28%29%28u_set%3CT%3E%20const%20%26t%29%20const%20%7B%0A%20%20%20%20constexpr%20std%3A%3Ahash%3CT%3E%20hasher%3B%0A%20%20%20%20return%20accumulate%28%0A%20%20%20%20%20%20%20%20t.begin%28%29%2C%20t.end%28%29%2C%20%28size_t%290%2C%0A%20%20%20%20%20%20%20%20%5B%26%5D%28auto%20acc%2C%20auto%20const%20%26ti%29%20%7B%20return%20acc%20%2B%20hasher%28ti%29%3B%20%7D%29%3B%0A%20%20%7D%0A%7D%3B%0A%7D%20%2F%2F%20namespace%20std%0A%0A%2F%2F%20Range%0Anamespace%20ranges%20%7B%0Atemplate%20%3Cclass%20T%2C%20class%20Itr%3E%20struct%20iterator_base%20%7B%0A%20%20using%20difference_type%20%3D%20ll%3B%0A%20%20using%20value_type%20%3D%20T%3B%0A%20%20using%20pointer%20%3D%20T%20%2A%3B%0A%20%20using%20reference%20%3D%20T%20%26%3B%0A%20%20using%20iterator_category%20%3D%20random_access_iterator_tag%3B%0A%20%20ll%20i%3B%0A%20%20iterator_base%28ll%20const%20%26i%29%20%3A%20i%28i%29%20%7B%7D%0A%20%20bool%20operator%3D%3D%28Itr%20const%20%26itr%29%20const%20%7B%20return%20i%20%3D%3D%20itr.i%3B%20%7D%0A%20%20bool%20operator%21%3D%28Itr%20const%20%26itr%29%20const%20%7B%20return%20i%20%21%3D%20itr.i%3B%20%7D%0A%20%20ll%20operator-%28Itr%20const%20%26itr%29%20const%20%7B%20return%20i%20-%20itr.i%3B%20%7D%0A%20%20Itr%20operator%2B%2B%28int%29%20%7B%20return%20with%28i%2B%2B%29%3B%20%7D%0A%20%20Itr%20operator--%28int%29%20%7B%20return%20with%28i--%29%3B%20%7D%0A%20%20Itr%20operator%2B%28ll%20const%20%26n%29%20const%20%7B%20return%20with%28i%20%2B%20n%29%3B%20%7D%0A%20%20Itr%20operator-%28ll%20const%20%26n%29%20const%20%7B%20return%20with%28i%20-%20n%29%3B%20%7D%0A%20%20Itr%20%26operator%2B%3D%28ll%20const%20%26n%29%20%7B%0A%20%20%20%20i%20%2B%3D%20n%3B%0A%20%20%20%20return%20self%28%29%3B%0A%20%20%7D%0A%20%20Itr%20%26operator-%3D%28ll%20const%20%26n%29%20%7B%20return%20self%28%29%20%2B%3D%20%28-n%29%3B%20%7D%0A%20%20Itr%20%26operator%2B%2B%28%29%20%7B%20return%20self%28%29%20%2B%3D%201%3B%20%7D%0A%20%20Itr%20%26operator--%28%29%20%7B%20return%20self%28%29%20-%3D%201%3B%20%7D%0A%0Aprotected%3A%0A%20%20virtual%20Itr%20with%28ll%20i%29%20const%20%3D%200%3B%0A%20%20virtual%20Itr%20%26self%28%29%20%3D%200%3B%0A%7D%3B%0Atemplate%20%3Cclass%20T%3E%20struct%20seq_base%20%7B%0A%20%20ll%20const%20b%3B%0A%20%20ll%20const%20e%3B%0A%20%20seq_base%28ll%20b%2C%20ll%20e%29%20%3A%20b%28b%29%2C%20e%28max%28b%2C%20e%29%29%20%7B%7D%0A%20%20ll%20size%28%29%20const%20%7B%20return%20e%20-%20b%3B%20%7D%0A%20%20bool%20empty%28%29%20const%20%7B%20return%20size%28%29%20%3D%3D%200%3B%20%7D%0A%7D%3B%0Atemplate%20%3Cclass%20T%3E%20struct%20seq%20%3A%20seq_base%3CT%3E%20%7B%0A%20%20struct%20iterator%20%3A%20iterator_base%3CT%2C%20iterator%3E%20%7B%0A%20%20%20%20seq%3CT%3E%20const%20%26s%3B%0A%20%20%20%20iterator%28seq%3CT%3E%20const%20%26s%2C%20ll%20const%20%26i%29%0A%20%20%20%20%20%20%20%20%3A%20iterator_base%3CT%2C%20iterator%3E%28i%29%2C%20s%28s%29%20%7B%7D%0A%20%20%20%20iterator%28iterator%20const%20%26%29%20%3D%20default%3B%0A%20%20%20%20iterator%20with%28ll%20i%29%20const%20override%20%7B%20return%20iterator%28s%2C%20i%29%3B%20%7D%0A%20%20%20%20iterator%20%26self%28%29%20override%20%7B%20return%20%2Athis%3B%20%7D%0A%20%20%20%20T%20operator%2A%28%29%20const%20%7B%20return%20s%5Bthis-%3Ei%5D%3B%20%7D%0A%20%20%20%20iterator%20%26operator%3D%28iterator%20const%20%26itr%29%20%7B%0A%20%20%20%20%20%20this-%3Ei%20%3D%20itr.i%3B%0A%20%20%20%20%20%20return%20%2Athis%3B%0A%20%20%20%20%7D%0A%20%20%7D%3B%0A%20%20fun%3CT%28ll%29%3E%20const%20f%3B%0A%20%20seq%28ll%20b%2C%20ll%20e%2C%20fun%3CT%28ll%29%3E%20const%20%26f%29%20%3A%20seq_base%3CT%3E%28b%2C%20e%29%2C%20f%28f%29%20%7B%7D%0A%20%20iterator%20begin%28%29%20const%20%7B%20return%20iterator%28%2Athis%2C%200%29%3B%20%7D%0A%20%20iterator%20end%28%29%20const%20%7B%20return%20iterator%28%2Athis%2C%20this-%3Esize%28%29%29%3B%20%7D%0A%20%20T%20operator%5B%5D%28ll%20i%29%20const%20%7B%20return%20f%28i%20%2B%20this-%3Eb%29%3B%20%7D%0A%7D%3B%0A%0Astruct%20range%20%3A%20seq_base%3Cll%3E%20%7B%0A%20%20struct%20iterator%20%3A%20iterator_base%3Cll%2C%20iterator%3E%20%7B%0A%20%20%20%20iterator%28ll%20const%20%26i%29%20%3A%20iterator_base%3Cll%2C%20iterator%3E%28i%29%20%7B%7D%0A%20%20%20%20iterator%20with%28ll%20i%29%20const%20override%20%7B%20return%20iterator%28i%29%3B%20%7D%0A%20%20%20%20iterator%20%26self%28%29%20override%20%7B%20return%20%2Athis%3B%20%7D%0A%20%20%20%20ll%20operator%2A%28%29%20const%20%7B%20return%20i%3B%20%7D%0A%20%20%7D%3B%0A%20%20range%28ll%20n%29%20%3A%20range%280%2C%20n%29%20%7B%7D%0A%20%20range%28ll%20b%2C%20ll%20e%29%20%3A%20seq_base%3Cll%3E%28b%2C%20e%29%20%7B%7D%0A%20%20iterator%20begin%28%29%20const%20%7B%20return%20iterator%28b%29%3B%20%7D%0A%20%20iterator%20end%28%29%20const%20%7B%20return%20iterator%28e%29%3B%20%7D%0A%20%20bool%20has%28ll%20x%29%20const%20%7B%20return%20b%20%3C%3D%20x%20%26%26%20x%20%3C%20e%3B%20%7D%0A%20%20ll%20operator%5B%5D%28ll%20i%29%20const%20%7B%20return%20i%20%2B%20b%3B%20%7D%0A%7D%3B%0A%7D%20%2F%2F%20namespace%20ranges%0Ausing%20range%20%3D%20ranges%3A%3Arange%3B%0Arange%3A%3Aiterator%20end%28ll%20i%29%20%7B%20return%20range%3A%3Aiterator%28i%29%3B%20%7D%0Arange%3A%3Aiterator%20begin%28ll%20i%20%3D%200%29%20%7B%20return%20range%3A%3Aiterator%28i%29%3B%20%7D%0Atemplate%20%3Cclass%20F%3E%20auto%20seq%28ll%20n%2C%20F%20const%20%26f%29%20%7B%0A%20%20using%20T%20%3D%20decltype%28f%28declval%3Cll%3E%28%29%29%29%3B%0A%20%20return%20ranges%3A%3Aseq%3CT%3E%280LL%2C%20n%2C%20f%29%3B%0A%7D%0A%0Anamespace%20optional%20%7B%0Atemplate%20%3Cclass%20T%3E%20struct%20opt%20%7B%0A%20%20std%3A%3Aunique_ptr%3CT%3E%20ptr%3B%0A%20%20opt%28nullptr_t%20ptr%20%3D%20nullptr%29%20%3A%20ptr%28ptr%29%7B%7D%3B%0A%20%20opt%28T%20const%20%26val%29%20%3A%20ptr%28make_unique%3CT%3E%28val%29%29%7B%7D%3B%0A%20%20opt%28opt%3CT%3E%20const%20%26o%29%20%3A%20opt%3CT%3E%28nullptr%29%20%7B%0A%20%20%20%20if%20%28o%29%0A%20%20%20%20%20%20ptr%20%3D%20make_unique%3CT%3E%28%2Ao%29%3B%0A%20%20%7D%0A%20%20opt%28opt%3CT%3E%20%26%26%29%20%3D%20default%3B%0A%20%20opt%3CT%3E%20%26operator%3D%28opt%3CT%3E%20const%20%26o%29%20%7B%0A%20%20%20%20ptr%20%3D%20o%20%3F%20make_unique%3CT%3E%28%2Ao%29%20%3A%20nullptr%3B%0A%20%20%20%20return%20%2Athis%3B%0A%20%20%7D%0A%20%20opt%3CT%3E%20%26operator%3D%28opt%3CT%3E%20%26%26%29%20%3D%20default%3B%0A%20%20operator%20bool%28%29%20const%20%7B%20return%20has_value%28%29%3B%20%7D%0A%20%20T%20%26operator%2A%28%29%20%7B%20return%20value%28%29%3B%20%7D%0A%20%20T%20const%20%26operator%2A%28%29%20const%20%7B%20return%20value%28%29%3B%20%7D%0A%20%20T%20%2Aoperator-%3E%28%29%20%7B%20return%20%26%28%2Aptr%29%3B%20%7D%0A%20%20T%20const%20%2Aoperator-%3E%28%29%20const%20%7B%20return%20%26%28%2Aptr%29%3B%20%7D%0A%20%20T%20%26value%28%29%20%7B%20return%20%2Aptr%3B%20%7D%0A%20%20T%20const%20%26value%28%29%20const%20%7B%20return%20%2Aptr%3B%20%7D%0A%20%20T%20value_or%28T%20const%20%26val%29%20const%20%7B%20return%20%28ptr%29%20%3F%20value%28%29%20%3A%20val%3B%20%7D%0A%20%20bool%20has_value%28%29%20const%20%7B%20return%20ptr%20%21%3D%20nullptr%3B%20%7D%0A%7D%3B%0Atemplate%20%3Cclass%20T%3E%20io%3A%3AOS%20%26operator%3C%3C%28io%3A%3AOS%20%26o%2C%20opt%3CT%3E%20const%20%26opt%29%20%7B%0A%20%20using%20io%3A%3Aoperator%3C%3C%3B%0A%20%20return%20opt.has_value%28%29%20%3F%20%28o%20%3C%3C%20%22Some%28%22%20%3C%3C%20opt.value%28%29%20%3C%3C%20%22%29%22%29%20%3A%20%28o%20%3C%3C%20%22None%22%29%3B%0A%7D%0A%7D%20%2F%2F%20namespace%20optional%0Ausing%20optional%3A%3Aopt%3B%0A%0Abool%20odd%28ll%20n%29%20%7B%20return%20n%20%26%201%3B%20%7D%0Abool%20even%28ll%20n%29%20%7B%20return%20%21odd%28n%29%3B%20%7D%0A%0Abool%20imply%28bool%20p%2C%20bool%20q%29%20%7B%20return%20%21p%20%7C%7C%20q%3B%20%7D%0Abool%20iff%28bool%20p%2C%20bool%20q%29%20%7B%20return%20p%20%3D%3D%20q%3B%20%7D%0A%0Aconstexpr%20lf%20PI%20%3D%203.141592653589793238462643383279502884L%3B%0Aconstexpr%20ll%20MOD%20%3D%201e9%20%2B%207%3B%0A%0A%23endif%20%2F%2A%20TEMPLATE_HPP%20%2A%2F%0A%0A%2F%2A%2A%0A%2F%2F%20DP%20Definition%0Ausing%20Data%20%3D%20struct%20%7B%7D%3B%0Ausing%20Key%20%3D%20tuple%3C%3E%3B%0Ausing%20Value%20%3D%20ll%3B%0Ausing%20Cache%20%3D%20u_map%3CKey%2C%20Value%3E%3B%0Astruct%20DP%20%7B%0A%20%20Data%20data%3B%0A%20%20Cache%20cache%3B%0A%20%20DP%28Data%20const%20%26data%29%20%3A%20data%28data%29%2C%20cache%28%28ll%291e6%29%20%7B%7D%0A%20%20Value%20compute%28Key%20const%20%26key%29%20%7B%0A%20%20%20%20if%20%28IS_INITIAL%29%0A%20%20%20%20%20%20return%20INITIAL_VALUE%3B%0A%20%20%20%20auto%20found%20%3D%20cache.find%28key%29%3B%0A%20%20%20%20if%20%28found%20%21%3D%20cache.end%28%29%29%0A%20%20%20%20%20%20return%20found-%3Esecond%3B%0A%20%20%20%20return%20cache%5Bkey%5D%20%3D%20RECURSION_CALL%28this-%3Ecompute%28Key%7B%7D%29%29%3B%0A%20%20%7D%0A%7D%3B%0A%2F%2F%20DP%20Call%0A%2F%2A%0A%20%20DP%20dp%28Data%7B%7D%29%3B%0A%20%20print%28dp.compute%28Key%7B%7D%29%29%3B%0A%2A%2F%0A%0Avoid%20solve%28%29%3B%0Aint%20main%28int%2C%20char%20%2A%5B%5D%29%20%7B%0A%20%20init_io%28%29%3B%0A%20%20ll%20t%20%3D%201%3B%0A%20%20%2F%2A%2A%20input%28t%29%3B%20%2F%2A%2A%2F%0A%20%20while%20%28t--%29%0A%20%20%20%20solve%28%29%3B%0A%20%20cout.flush%28%29%3B%0A%7D%0A%0Avoid%20solve%28%29%20%7B%0A%20%20ll%20A%2C%20B%2C%20C%3B%0A%20%20input%28A%2C%20B%2C%20C%29%3B%0A%20%20ll%20a%20%3D%20A%2C%20b%20%3D%20B%2C%20c%20%3D%20C%3B%0A%20%20for%20%28auto%20%26%26n%20%3A%20range%281e8%29%29%20%7B%0A%20%20%20%20if%20%28odd%28a%29%20%7C%7C%20odd%28b%29%20%7C%7C%20odd%28c%29%29%20%7B%0A%20%20%20%20%20%20print%28n%29%3B%0A%20%20%20%20%20%20return%3B%0A%20%20%20%20%7D%0A%20%20%20%20if%20%28n%20%3E%200%20%26%26%20a%20%3D%3D%20A%20%26%26%20b%20%3D%3D%20B%20%26%26%20c%20%3D%3D%20C%29%20%7B%0A%20%20%20%20%20%20print%28-1%29%3B%0A%20%20%20%20%20%20return%3B%0A%20%20%20%20%7D%0A%20%20%20%20ll%20a2%20%3D%20a%20%2F%202%2C%20b2%20%3D%20b%20%2F%202%2C%20c2%20%3D%20c%20%2F%202%3B%0A%20%20%20%20a%20%3D%20b2%20%2B%20c2%3B%0A%20%20%20%20b%20%3D%20a2%20%2B%20c2%3B%0A%20%20%20%20c%20%3D%20b2%20%2B%20a2%3B%0A%20%20%7D%0A%7D%0A

Compiler output:
a.cc:1:87: error: exponent has no digits
    1 | %0A%23ifndef%20TEMPLATE_HPP%0A%23define%20TEMPLATE_HPP%0A%0A%23include%20%3Calgorithm%3E%0A%23include%20%3Cbitset%3E%0A%23include%20%3Ccmath%3E%0A%23include%20%3Cdeque%3E%0A%23include%20%3Cfunctional%3E%0A%23include%20%3Ciomanip%3E%0A%23include%20%3Ciostream%3E%0A%23include%20%3Citerator%3E%0A%23include%20%3Clist%3E%0A%23include%20%3Cmap%3E%0A%23include%20%3Cmemory%3E%0A%23include%20%3Cnumeric%3E%0A%23include%20%3Cset%3E%0A%23include%20%3Cstring%3E%0A%23include%20%3Ctuple%3E%0A%23include%20%3Ctype_traits%3E%0A%23include%20%3Cunordered_map%3E%0A%23include%20%3Cunordered_set%3E%0A%23include%20%3Cutility%3E%0A%23include%20%3Cvector%3E%0A%0A%23define%20_GLIBCXX_DEBUG%0A%0A%2F%2F%20Utility%0Ausing%20std%3A%3Adeclval%3B%0Ausing%20std%3A%3Adistance%3B%0Ausing%20std%3A%3Aenable_if_t%3B%0Ausing%20std%3A%3Aget%3B%0Ausing%20std%3A%3Aindex_sequence%3B%0Ausing%20std%3A%3Ais_array%3B%0Ausing%20std%3A%3Ais_pointer%3B%0Ausing%20std%3A%3Ais_same%3B%0Ausing%20std%3A%3Aiterator_traits%3B%0Ausing%20std%3A%3Amake_index_sequence%3B%0Ausing%20std%3A%3Amake_pair%3B%0Ausing%20std%3A%3Amake_tuple%3B%0Ausing%20std%3A%3Amake_unique%3B%0Ausing%20std%3A%3Arandom_access_iterator_tag%3B%0Ausing%20std%3A%3Astold%3B%0Ausing%20std%3A%3Astoll%3B%0Ausing%20std%3A%3Aoperator%22%22s%3B%0Ausing%20std%3A%3Aabs%3B%0A%0A%2F%2F%20Types%0Ausing%20std%3A%3Abitset%3B%0Ausing%20std%3A%3Adeque%3B%0Ausing%20std%3A%3Alist%3B%0Ausing%20std%3A%3Amultiset%3B%0Ausing%20std%3A%3Anullptr_t%3B%0Ausing%20std%3A%3Apair%3B%0Ausing%20std%3A%3Atuple%3B%0Ausing%20std%3A%3Aunordered_multimap%3B%0Ausing%20std%3A%3Aunordered_multiset%3B%0Ausing%20ll%20%3D%20%2F%2A%2A%20__int128%3B%20%2F%2F%2A%2F%20long%20long%20int%3B%0Ausing%20lf%20%3D%20long%20double%3B%0Ausing%20str%20%3D%20std%3A%3Astring%3B%0Atemplate%20%3Cclass%20T%3E%20using%20u_set%20%3D%20std%3A%3Aunordered_set%3CT%3E%3B%0Atemplate%20%3Cclass%20T%3E%20using%20vec%20%3D%20std%3A%3Avector%3CT%3E%3B%0Ausing%20vecl%20%3D%20vec%3Cll%3E%3B%0Ausing%20vecf%20%3D%20vec%3Clf%3E%3B%0Ausing%20vecs%20%3D%20vec%3Cstr%3E%3B%0Atemplate%20%3Cclass%20K%2C%20class%20V%3E%20using%20u_map%20%3D%20std%3A%3Aunordered_map%3CK%2C%20V%3E%3B%0Atemplate%20%3Cclass%20V%3E%20using%20graph%20%3D%20u_map%3CV%2C%20u_set%3CV%3E%3E%3B%0Atemplate%20%3Ctypename%20_Signature%3E%20using%20fun%20%3D%20std%3A%3Afunction%3C_Signature%3E%3B%0A%0A%2F%2F%20Algorithms%0Ausing%20std%3A%3Aaccumulate%3B%0Ausing%20std%3A%3Aall_of%3B%0Ausing%20std%3A%3Aany_of%3B%0Ausing%20std%3A%3Aback_inserter%3B%0Ausing%20std%3A%3Acopy%3B%0Ausing%20std%3A%3Acopy_if%3B%0Ausing%20std%3A%3Acount%3B%0Ausing%20std%3A%3Acount_if%3B%0Ausing%20std%3A%3Afind_if%3B%0Ausing%20std%3A%3Afor_each%3B%0Ausing%20std%3A%3Ainserter%3B%0Ausing%20std%3A%3Alower_bound%3B%0Ausing%20std%3A%3Amax%3B%0Ausing%20std%3A%3Amax_element%3B%0Ausing%20std%3A%3Amin%3B%0Ausing%20std%3A%3Amin_element%3B%0Ausing%20std%3A%3Anext_permutation%3B%0Ausing%20std%3A%3Anone_of%3B%0Ausing%20std%3A%3Apartial_sum%3B%0Ausing%20std%3A%3Aremove_if%3B%0Ausing%20std%3A%3Areplace_if%3B%0Ausing%20std%3A%3Areverse%3B%0Ausing%20std%3A%3Aset_difference%3B%0Ausing%20std%3A%3Aset_intersection%3B%0Ausing%20std%3A%3Aset_symmetric_difference%3B%0Ausing%20std%3A%3Aset_union%3B%0Ausing%20std%3A%3Asort%3B%0Ausing%20std%3A%3Aswap%3B%0Ausing%20std%3A%3Atransform%3B%0Ausing%20std%3A%3Aunique%3B%0Ausing%20std%3A%3Aupper_bound%3B%0A%0Anamespace%20utils%20%7B%0Astr%20to_string%28__int128%20const%20%26x%29%20%7B%20return%20std%3A%3Ato_string%28%28long%20long%29x%29%3B%20%7D%0Atemplate%20%3Cclass%20T%3E%20T%20clamp%28T%20const%20%26v%2C%20T%20const%20%26l%2C%20T%20const%20%26h%29%20%7B%0A%20%20return%20min%28h%2C%20max%28l%2C%20v%29%29%3B%0A%7D%0All%20gcd%28ll%20p%2C%20ll%20q%29%20%7B%20return%20%28q%20%3D%3D%200%29%20%3F%20p%20%3A%20gcd%28q%2C%20p%20%25%20q%29%3B%20%7D%0All%20lcm%28ll%20p%2C%20ll%20q%29%20%7B%20return%20p%20%2F%20gcd%28q%2C%20p%29%20%2A%20q%3B%20%7D%0A%7D%20%2F%2F%20namespace%20utils%0Ausing%20std%3A%3Ato_string%3B%0Ausing%20utils%3A%3Aclamp%3B%0Ausing%20utils%3A%3Agcd%3B%0Ausing%20utils%3A%3Alcm%3B%0Ausing%20utils%3A%3Ato_string%3B%0A%0Anamespace%20io%20%7B%0A%2F%2F%20Input%0Ausing%20IS%20%3D%20std%3A%3Aistream%3B%0AIS%20%26in%28IS%20%26%29%3B%0AIS%20%26in%28IS%20%26i%29%20%7B%20return%20i%3B%20%7D%0Atemplate%20%3Cclass%20T%2C%20class...%20Ts%3E%20IS%20%26in%28IS%20%26i%2C%20T%20%26a%2C%20Ts%20%26...%20as%29%20%7B%0A%20%20return%20in%28i%20%3E%3E%20a%2C%20as...%29%3B%0A%7D%0AIS%20%26operator%3E%3E%28IS%20%26i%2C%20__int128%20%26x%29%20%7B%0A%20%20long%20long%20int%20xx%3B%0A%20%20i%20%3E%3E%20xx%3B%0A%20%20x%20%3D%20xx%3B%0A%20%20return%20i%3B%0A%7D%0Atemplate%20%3Cclass%20V%3E%20IS%20%26operator%3E%3E%28IS%20%26i%2C%20vec%3CV%3E%20%26a%29%20%7B%0A%20%20for%20%28auto%20%26ai%20%3A%20a%29%0A%20%20%20%20i%20%3E%3E%20ai%3B%0A%20%20return%20i%3B%0A%7D%0Atemplate%20%3Cclass%20F%2C%20class%20S%3E%20IS%20%26operator%3E%3E%28IS%20%26i%2C%20pair%3CF%2C%20S%3E%20%26p%29%20%7B%0A%20%20return%20i%20%3E%3E%20p.first%20%3E%3E%20p.second%3B%0A%7D%0Atemplate%20%3Cclass...%20Ts%3E%20IS%20%26operator%3E%3E%28IS%20%26i%2C%20tuple%3CTs...%3E%20%26t%29%20%7B%0A%20%20return%20apply%28%5B%26%5D%28auto%20%26...%20ts%29%20-%3E%20IS%20%26%20%7B%20return%20in%28i%2C%20ts...%29%3B%20%7D%2C%20t%29%3B%0A%7D%0A%2F%2F%20Output%0Ausing%20OS%20%3D%20std%3A%3Aostream%3B%0AOS%20%26out_join%28OS%20%26o%2C%20str%20const%20%26%29%20%7B%20return%20o%3B%20%7D%0Atemplate%20%3Cclass%20T%3E%20OS%20%26out_join%28OS%20%26o%2C%20str%20const%20%26%2C%20T%20const%20%26a%29%20%7B%0A%20%20return%20o%20%3C%3C%20a%3B%0A%7D%0Atemplate%20%3Cclass%20T%2C%20class...%20Ts%3E%0AOS%20%26out_join%28OS%20%26o%2C%20str%20const%20%26sep%2C%20T%20const%20%26a%2C%20Ts%20const%20%26...%20as%29%20%7B%0A%20%20return%20out_join%28o%20%3C%3C%20a%20%3C%3C%20sep%2C%20sep%2C%20as...%29%3B%0A%7D%0AOS%20%26operator%3C%3C%28OS%20%26o%2C%20__int128%20const%20%26x%29%20%7B%20return%20o%20%3C%3C%20%28long%20long%20int%29x%3B%20%7D%0Atemplate%20%3Cclass%20F%2C%20class%20S%3E%20OS%20%26operator%3C%3C%28OS%20%26o%2C%20pair%3CF%2C%20S%3E%20const%20%26p%29%20%7B%0A%20%20return%20o%20%3C%3C%20p.first%20%3C%3C%20%22%3A%22%20%3C%3C%20p.second%3B%0A%7D%0Atemplate%20%3Cclass...%20Ts%2C%20size_t...%20I%3E%0AOS%20%26tuple_out%28OS%20%26o%2C%20tuple%3CTs...%3E%20const%20%26t%2C%20index_sequence%3CI...%3E%29%20%7B%0A%20%20return%20out_join%28o%2C%20%22%2C%22%2C%20get%3CI%3E%28t%29...%29%3B%0A%7D%0Atemplate%20%3Cclass...%20Ts%3E%20OS%20%26operator%3C%3C%28OS%20%26o%2C%20tuple%3CTs...%3E%20const%20%26t%29%20%7B%0A%20%20return%20tuple_out%28o%20%3C%3C%20%22%28%22%2C%20t%2C%20make_index_sequence%3Csizeof...%28Ts%29%3E%28%29%29%20%3C%3C%20%22%29%22%3B%0A%7D%0Atemplate%20%3Cclass%20T%3E%20struct%20Joiner%20%7B%0A%20%20str%20const%20pre%3B%0A%20%20str%20const%20post%3B%0A%20%20str%20const%20sep%3B%0A%20%20vec%3CT%3E%20const%20container%3B%0A%20%20template%20%3Cclass%20Itr%3E%0A%20%20Joiner%28Itr%20const%20%26begin%2C%20Itr%20const%20%26end%2C%20str%20const%20%26sep%2C%20str%20const%20%26pre%2C%0A%20%20%20%20%20%20%20%20%20str%20const%20%26post%29%0A%20%20%20%20%20%20%3A%20pre%28pre%29%2C%20post%28post%29%2C%20sep%28sep%29%2C%20container%28begin%2C%20end%29%20%7B%7D%0A%7D%3B%0Atemplate%20%3Cclass%20T%3E%20OS%20%26operator%3C%3C%28OS%20%26o%2C%20Joiner%3CT%3E%20const%20%26joiner%29%20%7B%0A%20%20auto%20itr%20%3D%20joiner.container.begin%28%29%3B%0A%20%20auto%20end%20%3D%20joiner.container.end%28%29%3B%0A%20%20o%20%3C%3C%20joiner.pre%3B%0A%20%20if%20%28itr%20%21%3D%20end%29%0A%20%20%20%20o%20%3C%3C%20%2A%28itr%2B%2B%29%3B%0A%20%20while%20%28itr%20%21%3D%20end%29%0A%20%20%20%20o%20%3C%3C%20joiner.sep%20%3C%3C%20%2A%28itr%2B%2B%29%3B%0A%20%20return%20o%20%3C%3C%20joiner.post%3B%0A%7D%0Atemplate%20%3Cclass%20Itr%3E%0Aauto%20join%28Itr%20const%20%26b%2C%20Itr%20const%20%26e%2C%20str%20const%20%26sep%20%3D%20%22%22s%2C%0A%20%20%20%20%20%20%20%20%20%20str%20const%20%26pre%20%3D%20%22%22s%2C%20str%20const%20%26post%20%3D%20%22%22s%29%20%7B%0A%20%20using%20T%20%3D%20typename%20iterator_traits%3CItr%3E%3A%3Avalue_type%3B%0A%20%20return%20Joiner%3CT%3E%28b%2C%20e%2C%20sep%2C%20pre%2C%20post%29%3B%0A%7D%0Atemplate%20%3Cclass%20C%2C%20enable_if_t%3C%21is_same%3CC%2C%20str%3E%3A%3Avalue%20%26%26%20%21is_array%3CC%3E%3A%3Avalue%20%26%26%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%21is_pointer%3CC%3E%3A%3Avalue%20%26%26%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%21std%3A%3Ais_arithmetic%3CC%3E%3A%3Avalue%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20nullptr_t%3E%20%3D%20nullptr%3E%0AOS%20%26operator%3C%3C%28OS%20%26o%2C%20C%20const%20%26a%29%20%7B%0A%20%20return%20o%20%3C%3C%20join%28a.begin%28%29%2C%20a.end%28%29%2C%20%22%2C%22%2C%20%22%5B%22%2C%20%22%5D%22%29%3B%0A%7D%0A%7D%20%2F%2F%20namespace%20io%0Ausing%20std%3A%3Acerr%3B%0Ausing%20std%3A%3Acin%3B%0Ausing%20std%3A%3Acout%3B%0Aauto%20init_io%20%3D%20%5B%5D%28%29%20%7B%0A%20%20std%3A%3Aios_base%3A%3Async_with_stdio%28false%29%3B%0A%20%20cin.tie%28nullptr%29%3B%0A%20%20cout.tie%28nullptr%29%3B%0A%20%20cout%20%3C%3C%20std%3A%3Afixed%20%3C%3C%20std%3A%3Asetprecision%2815%29%3B%0A%7D%3B%0Aauto%20input%20%3D%20%5B%5D%28auto%20%26...%20a%29%20%7B%20io%3A%3Ain%28cin%2C%20a...%29%3B%20%7D%3B%0Aauto%20print%20%3D%20%5B%5D%28auto%20const%20%26...%20a%29%20%7B%20io%3A%3Aout_join%28cout%2C%20%22%20%22%2C%20a...%29%20%3C%3C%20%22%5Cn%22%3B%20%7D%3B%0A%23ifdef%20JUMPAKU_DEBUG%0Aauto%20dump%20%3D%20%5B%5D%28auto%20const%20%26...%20a%29%20%7B%20io%3A%3Aout_join%28cerr%2C%20%22%20%22s%2C%20a...%29%20%3C%3C%20%22%5Cn%22%3B%20%7D%3B%0A%23else%0Aauto%20dump%20%3D%20%5B%5D%28auto%20const%20%26...%29%20%7B%7D%3B%0A%23endif%0Ausing%20io%3A%3Ajoin%3B%0A%0A%2F%2F%20Hash%0Anamespace%20hashcode%20%7B%0Atemplate%20%3Cclass...%20Ts%3E%20size_t%20hash_args%28size_t%20h%2C%20Ts%20const%20%26...%20ts%29%3B%0Asize_t%20hash_args%28size_t%20h%29%20%7B%20return%20h%3B%20%7D%0Atemplate%20%3Cclass%20T%2C%20class...%20Ts%3E%0Asize_t%20hash_args%28size_t%20h%2C%20T%20const%20%26t%2C%20Ts%20const%20%26...%20ts%29%20%7B%0A%20%20constexpr%20std%3A%3Ah