// $ g++ -O3 -s -g0 -std=c++2a reasonable.cpp -o reasonable
// You may want to use GCC 10 for this.
// If you need to, you can always increase -ftemplate-depth.

#include <cmath>
#include <limits>

template <typename, typename> struct 🤑;
template <auto 🏫> constexpr static auto 🏨 = (4 - 3 * 🏫 % 4) % 4;
template <typename 😸> static inline auto 🎋(typename 😸::🍹 *💊) -> decltype(🎋<typename 😸::🍹>(static_cast<typename 😸::🍹*>(💊)));
template <typename, auto> struct 💥;
template <typename> struct 🐜;
template <typename, typename> struct 👴;
template <template <typename...> typename, typename...> struct 🉑;
template <typename> struct 🔓;
template <typename 🧇> static inline 🧇 🎋(...);
template <template <typename, typename> typename, typename, typename> struct 😷;
template <typename, typename> struct 🤬;
template <typename 🧖> struct 🧟 { long long 🙉; int 📈; using 🦒 = 🧖; constexpr 🧖 🧎() const { return std::ldexp(std::ldexp(🙉, -std::numeric_limits<🧖>::digits), 📈); } constexpr 🧟(🧖 🏐) : 🙉(0), 📈(0) { 🙉 = std::trunc(std::ldexp(std::frexp(🏐, &📈), std::numeric_limits<🧖>::digits)); } explicit constexpr operator 🧖() const { return 🧎(); } };
template <unsigned 📫, unsigned... 🔄> [[gnu::always_inline]] static inline void 🪕() { asm volatile(".long %c0" :: "i"(📫)); if constexpr (sizeof...(🔄)) (🪕<🔄>(), ...); }
template <template <auto...> typename, typename...> struct 🥔;
template <typename, typename, auto> struct 🚝 {};
template <template <typename> typename, template <typename> typename, typename> struct 🧮 {};
template <unsigned 🙂, unsigned... 🥒> [[gnu::always_inline]] static inline void 🔍() { asm volatile(".byte %c0" :: "i"(🙂)); if constexpr (sizeof...(🥒)) (🔍<🥒>(), ...); }
template <typename, typename> struct 🐥;
template <typename, typename> struct 🔇;
constexpr static auto 🚜 = 512;
template <template <typename> typename, template <typename> typename, template <typename> typename, auto> struct 💽 {};
template <auto...> struct 🛫 {};
template <unsigned 🦱, unsigned... 🐡> [[gnu::always_inline]] static inline void 🏪() { asm volatile(".word %c0" :: "i"(🦱)); if constexpr (sizeof...(🐡)) (🏪<🐡>(), ...); }
template <template <auto...> typename 🚃, auto... 👺> constexpr static auto 🚱 = 🚃<👺...>::🤥;
template <typename, typename> struct 📣 {};
template <typename> struct 🦼;
template <typename, auto, auto, auto, auto, typename> struct 📫;
template <auto 🔘> struct 👑 { constexpr static auto 🤥 = 🔘; };
template <auto, typename> struct 💆;
template <typename...> struct 🧘 {};
template <typename, typename, typename> struct 🤫;
template <typename> struct 🧚;
template <typename, typename> struct 🚟;
template <typename, typename, typename> struct 🔭 {};
template <typename, typename, typename, typename> struct 🐽 {};
template <unsigned 🍘, unsigned... 🪙> [[gnu::always_inline]] static inline void 🏻() { if constexpr (🍘 > 0) asm volatile(".skip %c0" :: "i"(🍘)); if constexpr (sizeof...(🪙)) (🏻<🪙>(), ...); }
template <typename, typename, typename, auto, typename> struct 💑;
constexpr static auto 🌓 = 512;
struct 🙄 {};
template <typename, typename> struct 🏐;
template <template <typename, typename, auto, typename> typename, typename, typename, auto, typename> struct 👚;
template <template <auto, auto> typename, typename, auto> struct 🥍;
template <typename> struct 💼;
template <typename, typename> struct 🍶 {};
template <typename 👿, auto 🏬, auto 🔢 = 0, bool = (🔢 < 🏬)> struct 🍿 { using 📇 = 👿; [[gnu::always_inline]] static inline void 💁() { 🏻<🏨<🏬>>(); } };
template <typename 👼, typename... 🧂> struct 💼<🧘<👼, 🧂...>> { using 🌵 = 🧘<🧂...>; };
template <typename... 👳> struct 🧚<🧘<👳...>> : 👑<sizeof...(👳)> {};
template <typename> static inline 👑<false> 🥸(...);
template <typename 🎷> struct 🐁 { using 🍹 = decltype(🎋<🎷>(nullptr)); };
template <auto 💅, auto... 🚄> struct 💼<🛫<💅, 🚄...>> { using 🌵 = 🛫<🚄...>; };
template <typename 🐲> static inline 👑<true> 🥸(typename 🐲::🦒 *);
template <template <auto, auto> typename 🏢, auto 📠> struct 🥍<🏢, 🛫<>, 📠> : 👑<📠> {};
template <template <typename> typename 🐷, template <typename> typename 🪛, template <typename> typename 🐺, auto 💕> struct 🦼<💽<🐷, 🪛, 🐺, 💕>> : 👑<💕> {};
template <auto... 🥬> struct 🧚<🛫<🥬...>> : 👑<sizeof...(🥬)> {};
template <typename 🔤> 🧟(🔤) -> 🧟<🔤>;
template <auto 🍚> struct 💆<🍚, void> : 👑<false> {};
template <auto 🛅, auto... 🕞> struct 🔓<🛫<🛅, 🕞...>> : 👑<🛅> {};
template <auto, auto 🏹, auto 😔, bool = (😔 & 1), bool = (😔 > 0)> struct 🎮 : 👑<🏹> {};
template <typename 😰> constexpr static auto 🧲 = 🧚<😰>::🤥;
template <typename 🔋> constexpr static auto 👠 = decltype(🥸<🔋>(nullptr))::🤥;
constexpr 🧟<double> operator "" _👺(unsigned long long 👌) { return 🧟<double>{ static_cast<double>(👌) }; }
template <typename 📑> constexpr static auto 😍 = 🧚<📑>::🤥 <= 0;
constexpr 🧟<double> operator "" _👺(long double 🧛) { return 🧟<double>{ static_cast<double>(🧛) }; }
template <typename 🕌> using 📺 = typename 🐁<🕌>::🍹;
template <unsigned 🪶> constexpr static auto 🧼 = 🧟<double>(static_cast<double>(🪶));
template <typename 👈> using 🌖 = typename 💼<👈>::🌵;
struct 🦡 { template <typename> using 🗿 = 🛫<1_👺, 1_👺, 1_👺>; template <typename> using 🥰 = 👑<0_👺>; };
template <auto, typename 🤘, typename 🧄, bool = 👠<🤘>, bool = 👠<🧄>> struct 👘;
template <typename 🌞> struct _ { using 🍹 = 📺<🌞>; };
template <template <typename...> typename 📄, typename... 🎬> using 🫁 = 📺<📄<📺<🎬>...>>;
template <typename 🥳> constexpr static auto 🛻 = 📺<🦼<🥳>>::🤥;
struct 👊 { template <typename> using 😈 = 🛫<1.0_👺, 1.0_👺, 1.0_👺>; template <typename> using 🧫 = 🛫<0.5_👺, 0.5_👺, 0.5_👺>; template <typename> using 🔣 = 👑<1.0_👺>; };
template <typename 🕒, typename 🍾> struct 👘<6, 🕒, 🍾, false, true> { template <🕒 🔀, 🍾 🚪> constexpr static auto 🧐 = (🔀 <= 🚪.🧎()); };
template <template <typename...> typename 👏, typename... 📟> struct 🉑<👏, 🧘<>, 📟...> : _<🧘<>> {};
using 🥠 = 💽<🦡::template 🗿, 🦡::template 🗿, 🦡::template 🥰, 1>;
template <typename 🔬, typename 🤺> struct 👘<2, 🔬, 🤺, true, false> { template <🔬 😋, 🤺 🚙> constexpr static auto 🧐 = 🧟(😋.🧎() * 🚙); };
template <typename 🏮, typename 🐟> struct 👘<9, 🏮, 🐟, true, true> { template <🏮 🐼, 🐟 😢> constexpr static auto 🧐 = (🐼.🧎() != 😢.🧎()); };
template <typename 😁, typename 🐀> struct 👘<5, 😁, 🐀, false, true> { template <😁 🚃, 🐀 💨> constexpr static auto 🧐 = (🚃 > 💨.🧎()); };
template <typename 🔴, typename 🌇> struct 👘<8, 🔴, 🌇, false, true> { template <🔴 📩, 🌇 🦷> constexpr static auto 🧐 = (📩 == 🦷.🧎()); };
template <auto... 📅, auto... 🏭> struct 🚟<🛫<📅...>, 🛫<🏭...>> : _<🛫<📅..., 🏭...>> {};
template <typename 🍊, typename 🚮> struct 👘<3, 🍊, 🚮, false, false> { template <🍊 🧨, 🚮 🪘> constexpr static auto 🧐 = (🧨 / 🪘); };
using 🕙 = 💽<👊::template 😈, 👊::template 🧫, 👊::template 🔣, 250>;
template <typename 🦰, typename 🎣> struct 👘<3, 🦰, 🎣, false, true> { template <🦰 🕑, 🎣 🩰> constexpr static auto 🧐 = 🧟(🕑 / 🩰.🧎()); };
template <typename 🐘, typename 💂> struct 👘<4, 🐘, 💂, true, true> { template <🐘 🤩, 💂 💔> constexpr static auto 🧐 = (🤩.🧎() < 💔.🧎()); };
template <typename 🦃, typename 💪> struct 👘<7, 🦃, 💪, true, true> { template <🦃 👹, 💪 🤺> constexpr static auto 🧐 = (👹.🧎() >= 🤺.🧎()); };
template <typename 💶, typename 🦄> struct 👘<8, 💶, 🦄, true, false> { template <💶 🔆, 🦄 🥜> constexpr static auto 🧐 = (🔆.🧎() == 🥜); };
template <typename 🫑, typename... 😼> struct 🔓<🧘<🫑, 😼...>> : _<🫑> {};
template <typename 🧗, bool 🆘 = 👠<🧗>> struct 🥤 : _<🧗> {};
template <typename 🦓, typename 🧵> struct 👘<3, 🦓, 🧵, true, false> { template <🦓 🥓, 🧵 🤚> constexpr static auto 🧐 = 🧟(🥓.🧎() / 🤚); };
template <typename 💗, typename 👣> struct 👘<9, 💗, 👣, false, false> { template <💗 🧳, 👣 🧰> constexpr static auto 🧐 = (🧳 != 🧰); };
template <typename 🧩, typename 🕗> struct 👘<3, 🧩, 🕗, true, true> { template <🧩 💣, 🕗 🪨> constexpr static auto 🧐 = 🧟(💣.🧎() / 🪨.🧎()); };
template <> struct 🤬<void, void> : _<void> {};
template <typename 🏀, typename 🦴> struct 👘<6, 🏀, 🦴, true, true> { template <🏀 💓, 🦴 🔢> constexpr static auto 🧐 = (💓.🧎() <= 🔢.🧎()); };
template <typename 🥼, typename 🛷> struct 👘<1, 🥼, 🛷, true, false> { template <🥼 🍰, 🛷 🕛> constexpr static auto 🧐 = 🧟(🍰.🧎() - 🕛); };
template <template <typename> typename 🧕, template <typename> typename 🔀, template <typename> typename 💅, auto 🌟, typename 🕟> struct 🔇<💽<🧕, 🔀, 💅, 🌟>, 🕟> : _<💅<🕟>> {};
template <typename 👼, typename 🥐> struct 👘<0, 👼, 🥐, true, false> { template <👼 📎, 🥐 💫> constexpr static auto 🧐 = 🧟(📎.🧎() + 💫); };
template <typename 🧱> struct 🤬<🧱, void> : _<🧱> {};
template <typename 🐯, typename 🌟> struct 👘<9, 🐯, 🌟, true, false> { template <🐯 🌸, 🌟 🙏> constexpr static auto 🧐 = (🌸.🧎() != 🙏); };
template <template <typename> typename 👉, template <typename> typename 🔅, typename 🍾> struct 🐜<🧮<👉, 🔅, 🍾>> : _<🍾> {};
template <typename 🦑, typename 🥵> struct 👘<0, 🦑, 🥵, false, true> { template <🦑 😦, 🥵 🔠> constexpr static auto 🧐 = 🧟(😦 + 🔠.🧎()); };
template <typename 📟, typename 🔹> struct 👘<4, 📟, 🔹, true, false> { template <📟 📔, 🔹 🙌> constexpr static auto 🧐 = (📔.🧎() < 🙌); };
template <typename... 💌, typename... 💃> struct 🚟<🧘<💌...>, 🧘<💃...>> : _<🧘<💌..., 💃...>> {};
template <typename 🚸, typename 💉> struct 👘<1, 🚸, 💉, true, true> { template <🚸 🎐, 💉 🍨> constexpr static auto 🧐 = 🧟(🎐.🧎() - 🍨.🧎()); };
template <template <typename, typename, auto, typename> typename, typename, typename, typename, auto, typename, auto 🧜, typename, bool 🕝 = (🧜 <= 5)> struct 🍚 : _<🛫<0.5_👺, 0.5_👺, 0.5_👺>> {};
template <typename 🤵, typename 🐢> struct 👘<7, 🤵, 🐢, false, false> { template <🤵 🔺, 🐢 🤩> constexpr static auto 🧐 = (🔺 >= 🤩); };
template <template <typename> typename 👍, template <typename> typename 🪓, typename 🦑, typename 🐄> struct 👴<🧮<👍, 🪓, 🦑>, 🐄> : _<🪓<🐄>> {};
template <template <typename> typename 🦥, template <typename> typename 🍖, template <typename> typename 🏃, auto 🌿, typename 💇> struct 🤑<💽<🦥, 🍖, 🏃, 🌿>, 💇> : _<🍖<💇>> {};
template <typename 👾, typename 🤯> struct 👘<4, 👾, 🤯, false, false> { template <👾 🚊, 🤯 🧽> constexpr static auto 🧐 = (🚊 < 🧽); };
template <typename 💘, typename 🈲> struct 👘<4, 💘, 🈲, false, true> { template <💘 🪧, 🈲 💤> constexpr static auto 🧐 = (🪧 < 💤.🧎()); };
template <typename 📿, typename 🍴> struct 👘<5, 📿, 🍴, false, false> { template <📿 🙌, 🍴 💒> constexpr static auto 🧐 = (🙌 > 💒); };
template <typename 📰> struct 👘<10, 📰, 🙄, true, false> { template <📰 👸> constexpr static auto 🧐 = 🧟(- 👸.🧎()); };
template <typename 🧨, typename 🌱> struct 👘<0, 🧨, 🌱, false, false> { template <🧨 💳, 🌱 👨> constexpr static auto 🧐 = (💳 + 👨); };
template <bool, typename, typename 🍏> struct 🪅 : _<🍏> {};
template <template <typename, typename> typename 🔀, typename 🎵, typename... 🌷, typename 👾> struct 😷<🔀, 🧘<🎵, 🌷...>, 👾> : _<😷<🔀, 🧘<🌷...>, 🫁<🔀, 👾, 🎵>>> {};
template <template <auto...> typename 🖖, typename... 🍁> struct 🥔<🖖, 🛫<>, 🍁...> : _<🛫<>> {};
template <typename, auto, auto 📴, auto = 0, auto 🏑 = 📴 - 1, bool 🧢 = (🏑 >= 0)> struct 🤍 : _<🧘<>> {};
template <typename 🌟, typename 🧽> struct 👘<2, 🌟, 🧽, true, true> { template <🌟 🥴, 🧽 🐶> constexpr static auto 🧐 = 🧟(🥴.🧎() * 🐶.🧎()); };
template <typename 🥑, typename 🕠> struct 👘<1, 🥑, 🕠, false, false> { template <🥑 👱, 🕠 🎠> constexpr static auto 🧐 = (👱 - 🎠); };
template <template <auto, auto> typename 🦐, auto 🥜, auto... 🈳, auto 🦫> struct 🥍<🦐, 🛫<🥜, 🈳...>, 🦫> : _<🥍<🦐, 🛫<🈳...>, 🚱<🦐, 🦫, 🥜>>> {};
template <typename 🐇, typename 🎨> struct 👘<2, 🐇, 🎨, false, false> { template <🐇 🪙, 🎨 🤺> constexpr static auto 🧐 = (🪙 * 🤺); };
template <template <typename, typename> typename 🤖, typename 🍰> struct 😷<🤖, 🧘<>, 🍰> : _<🍰> {};
template <typename 🐗, typename 🧛> struct 👘<5, 🐗, 🧛, true, false> { template <🐗 🩳, 🧛 🌷> constexpr static auto 🧐 = (🩳.🧎() > 🌷); };
template <typename 🪣, typename 💾> struct 👘<2, 🪣, 💾, false, true> { template <🪣 🎢, 💾 🧥> constexpr static auto 🧐 = 🧟(🎢 * 🧥.🧎()); };
template <typename 🦷, typename 🈴> struct 👘<9, 🦷, 🈴, false, true> { template <🦷 🧷, 🈴 🛑> constexpr static auto 🧐 = (🧷 != 🛑.🧎()); };
template <typename 💘, typename 🦴> struct 👘<6, 💘, 🦴, true, false> { template <💘 🦯, 🦴 🚁> constexpr static auto 🧐 = (🦯.🧎() <= 🚁); };
template <typename 🥴, typename 🎦> struct 👘<5, 🥴, 🎦, true, true> { template <🥴 💾, 🎦 💮> constexpr static auto 🧐 = (💾.🧎() > 💮.🧎()); };
template <typename 🚋> struct 🤬<void, 🚋> : _<🚋> {};
template <typename 🔂, typename 🤎> struct 👘<7, 🔂, 🤎, true, false> { template <🔂 🚠, 🤎 🎀> constexpr static auto 🧐 = (🚠.🧎() >= 🎀); };
template <typename 👟, typename 🤣> struct 👘<8, 👟, 🤣, false, false> { template <👟 🥟, 🤣 📝> constexpr static auto 🧐 = (🥟 == 📝); };
template <typename 🌌, typename 🔒> struct 👘<8, 🌌, 🔒, true, true> { template <🌌 💫, 🔒 🙎> constexpr static auto 🧐 = (💫.🧎() == 🙎.🧎()); };
template <typename 💫, typename 🌊> struct 👘<6, 💫, 🌊, false, false> { template <💫 🦰, 🌊 🌼> constexpr static auto 🧐 = (🦰 <= 🌼); };
template <typename 🥴, typename 🔨> struct 👘<7, 🥴, 🔨, false, true> { template <🥴 🌅, 🔨 🍖> constexpr static auto 🧐 = (🌅 >= 🍖.🧎()); };
template <typename 🧳, typename 🦲> struct 👘<0, 🧳, 🦲, true, true> { template <🧳 🕖, 🦲 🍺> constexpr static auto 🧐 = 🧟(🕖.🧎() + 🍺.🧎()); };
template <template <typename> typename 🏸, template <typename> typename 🌅, template <typename> typename 🔱, auto 🐳, typename 🫑> struct 🐥<💽<🏸, 🌅, 🔱, 🐳>, 🫑> : _<🏸<🫑>> {};
template <typename 💔> struct 👘<10, 💔, 🙄, false, false> { template <💔 🥖> constexpr static auto 🧐 = (- 🥖); };
template <typename 🥩, typename 💎> struct 👘<1, 🥩, 💎, false, true> { template <🥩 📼, 💎 🍒> constexpr static auto 🧐 = 🧟(📼 - 🍒.🧎()); };
template <typename 💟, typename 🕦> constexpr static auto 🥬 = 📺<🔇<💟, 📺<🕦>>>::🤥;
template <auto 🏫, auto 🍻> constexpr static auto 👤 = 👘<2, decltype(🏫), decltype(🍻)>::template 🧐<🏫, 🍻>;
template <auto 🍺, auto 🕎> constexpr static auto 🥩 = 👘<5, decltype(🍺), decltype(🕎)>::template 🧐<🍺, 🕎>;
template <typename 🆚, typename 🥶> using 😂 = 📺<🤑<🆚, 📺<🥶>>>;
template <auto 🦬, auto 🌉> constexpr static auto 🕜 = 👘<1, decltype(🦬), decltype(🌉)>::template 🧐<🦬, 🌉>;
template <typename 👱, typename 🐀> using 🔘 = 📺<👴<👱, 🐀>>;
template <auto 🚬, auto 🖖> constexpr static auto 🧽 = 👘<8, decltype(🚬), decltype(🖖)>::template 🧐<🚬, 🖖>;
template <typename 🚹, typename 🥧> struct 🪅<true, 🚹, 🥧> : _<🚹> {};
template <typename 🥯, typename 😄> using 🙆 = 📺<🐥<🥯, 📺<😄>>>;
template <typename 🎤> using 🏑 = 📺<🔓<🎤>>;
template <auto 🚻, auto 🥓> constexpr static auto 🤳 = 👘<6, decltype(🚻), decltype(🥓)>::template 🧐<🚻, 🥓>;
template <typename 🏠> constexpr static auto 🐼 = 🔓<🏠>::🤥;
template <auto 🍩, auto 🚩> constexpr static auto 🧛 = 👘<7, decltype(🍩), decltype(🚩)>::template 🧐<🍩, 🚩>;
template <typename 🔎> using 🐏 = 📺<🐜<🔎>>;
template <auto 📚, auto 🥢> constexpr static auto 🍀 = 👘<3, decltype(📚), decltype(🥢)>::template 🧐<📚, 🥢>;
template <auto 🪟, auto 👲> constexpr static auto 👖 = 👘<9, decltype(🪟), decltype(👲)>::template 🧐<🪟, 👲>;
template <auto 👌, auto 😄> constexpr static auto 😥 = 👘<4, decltype(👌), decltype(😄)>::template 🧐<👌, 😄>;
template <typename 🥣, typename 🔢> using 🕗 = 📺<🚟<🥣, 🔢>>;
template <auto 🥵, auto 🔫> constexpr static auto 👏 = 👘<0, decltype(🥵), decltype(🔫)>::template 🧐<🥵, 🔫>;
template <auto 🚧> constexpr static auto 🦚 = 👘<10, decltype(🚧), 🙄>::template 🧐<🚧>;
template <typename 🌮> struct 🥤<🌮, true> : _<typename 🌮::🦒> {};
template <auto 🍎, auto 🫀, auto 🍛> struct 🎮<🍎, 🫀, 🍛, true, true> : 🎮<👤<🍎, 🍎>, 👤<🫀, 🍎>, (🍛 >> 1)> {};
template <auto 🏣, auto 👭, auto 🥽> struct 🎮<🏣, 👭, 🥽, false, true> : 🎮<👤<🏣, 🏣>, 👭, (🥽 >> 1)> {};
template <auto 📅> constexpr static auto 🐗 = decltype(📅)(static_cast<long long>(static_cast<double>(📅)) - (😥<📅, 0> ? 1 : 0));
template <template <typename, typename> typename 🔎, typename 🔋> using 🙈 = 📺<😷<🔎, 🌖<📺<🔋>>, 🏑<📺<🔋>>>>;
template <auto 🪀, auto 🔊> using 🥅 = 👑<👏<🪀, 🔊>>;
template <auto 🔂> constexpr static auto 🧕 = 😥<🔂, 0> ? 🦚<🔂> : 🔂;
template <template <auto, auto> typename 🥁, typename 🪰> constexpr static auto 👒 = 📺<🥍<🥁, 🌖<📺<🪰>>, 🐼<📺<🪰>>>>::🤥;
template <auto 🍕, auto 🆙> using 🦧 = 👑<🍀<🍕, 🆙>>;
template <typename 🦤> using 🦰 = 📺<🥤<🦤>>;
template <auto 🎃, typename 🤠, typename 🕤, auto 🚳> struct 💆<🎃, 🚝<🤠, 🕤, 🚳>> : 👑<🤳<🚳, 🎃>> {};
template <auto 🏢, auto 🦭> using 🤾 = 👑<👤<🏢, 🦭>>;
template <typename 📙, typename 🧒, auto 📥, typename 🏏, typename 🎵, auto 🏠> struct 🤬<🚝<📙, 🧒, 📥>, 🚝<🏏, 🎵, 🏠>> : _<🪅<🤳<📥, 🏠>, 🚝<📙, 🧒, 📥>, 🚝<🏏, 🎵, 🏠>>> {};
template <typename 📹, template <typename> typename 🍖, template <typename> typename 🦻, typename 😓> struct 🏐<📹, 🧮<🍖, 🦻, 😓>> : _<🪅<🥩<🍖<📹>::🤥, 0>, 🚝<🧮<🍖, 🦻, 😓>, 📹, 🍖<📹>::🤥>, void>> {};
template <auto 🕍, auto 📚> using 🔱 = 👑<🕜<🕍, 📚>>;
template <auto 🍘, auto... 🦌, auto 🛗> struct 💥<🛫<🍘, 🦌...>, 🛗> : _<🪅<🛗 == 0, 👑<🍘>, 💥<🛫<🦌...>, 🛗 - 1>>> {};
template <template <typename...> typename 😪, typename 😳, typename... 😠, typename... 🙋> struct 🉑<😪, 🧘<😳, 😠...>, 🙋...> : _<🪅<(😍<🙋> || ...), 🧘<>, 🕗<🧘<🫁<😪, 😳, 🏑<🙋>...>>, 📺<🉑<😪, 🧘<😠...>, 📺<🌖<🙋>>...>>>>> {};
template <template <auto...> typename 🚁, auto 🥓, auto... 🏿, typename... 💞> struct 🥔<🚁, 🛫<🥓, 🏿...>, 💞...> : _<🪅<(😍<💞> || ...), 🛫<>, 🕗<🛫<🚱<🚁, 🥓, 🐼<💞>...>>, 📺<🥔<🚁, 🛫<🏿...>, 📺<🌖<💞>>...>>>>> {};
template <typename 👿, typename 🔴> struct 🤵 : _<🥔<🤾, 📺<👿>, 📺<🔴>>> {};
template <typename 🪥, typename 🍴> struct 👩 : _<🥔<🔱, 📺<🪥>, 📺<🍴>>> {};
template <auto 🤱> struct 🧡 { template <auto 💬> using 📢 = 🤾<🤱, 💬>; };
template <auto 🥐> constexpr static auto 🎁 = 👏<🐗<🥐>, (🥩<🕜<🥐, 🐗<🥐>>, .5_👺> ? 1 : 0)>;
template <typename 🦢, typename 🐨> struct 🌮 : _<🥔<🦧, 📺<🦢>, 📺<🐨>>> {};
template <typename 🐾> struct 📢 { template <typename 🎉> using 📆 = 📺<🏐<🐾, 🎉>>; };
template <typename 🚳, auto 🏥> constexpr static auto 👍 = 📺<💥<🚳, 🏥>>::🤥;
template <auto 🥀, unsigned 🔅> constexpr static auto 📔 = 🎮<🥀, decltype(🥀) { 1 }, 🔅>::🤥;
template <auto 🟩> constexpr static auto 📥 = 🧟<🦰<decltype(🟩)>>(std::numeric_limits<🦰<decltype(🟩)>>::epsilon());
template <typename 🙉, typename 💄> struct 🆒 : _<🥔<🥅, 📺<🙉>, 📺<💄>>> {};
template <template <bool, auto, auto> typename 😺, auto 🌃, auto 🥟, bool = 🤳<🧕<🌃>, 📥<🌃>>, bool = 🤳<🧕<🕜<decltype(🌃) { 1.0 }, 🌃>>, 📥<🌃>>> struct 🥮 : 😺<🥩<🌃, 4>, 🌃, 🥟> {};
template <auto 🍢, typename 🪒> struct 🎂 : _<🥔<🧡<🍢>::template 📢, 📺<🪒>>> {};
template <typename 🦑, typename 🪟, typename 🥑, typename 🚤> struct 🏐<🦑, 🔭<🪟, 🥑, 🚤>> : _<🙈<🤬, 📺<🉑<📢<🦑>::template 📆, 🪟>>>> {};
template <typename 🚃, typename 🎰> constexpr static auto 🦶 = 👒<🥅, 📺<🤵<📺<🚃>, 📺<🎰>>>>;
template <typename 🔥, typename 🤪, auto 👇, auto 🕝> constexpr static auto 📹 = 🕜<👤<👍<🔥, 👇>, 👍<🤪, 🕝>>, 👤<👍<🔥, 🕝>, 👍<🤪, 👇>>>;
template <auto 👦, auto 🎽, auto 🎣, bool = 🤳<🍀<🧕<🕜<🎽, 🍀<👦, 🎽>>>, 👏<🎽, 1>>, 📥<👦>>, bool = (🎣 >= 100)> struct 🌷 : 🌷<👦, 🍀<👏<🎽, 🍀<👦, 🎽>>, 2>, 🎣 + 1> {};
template <typename 💍, auto 🧨, auto 🍧> struct 🍿<💍, 🧨, 🍧, true> : 🍿<📺<🌖<💍>>, 🧨, 🍧 + 1> { using 🍫 = 📺<🏑<💍>>; [[gnu::always_inline]] static inline void 💁() { 🔍<👍<🍫, 2>, 👍<🍫, 1>, 👍<🍫, 0>>(); 🍿<📺<🌖<💍>>, 🧨, 🍧 + 1>::💁(); } };
template <auto 🚳> struct 🤜 : 👑<static_cast<unsigned>(static_cast<double>(🎁<👤<🥩<🚳, 1_👺> ? 1_👺 : 😥<🚳, 0_👺> ? 0_👺 : 🚳, 255>>))> {};
template <typename 🤪, auto 🟫> struct 🥯 : 🥯<typename 🍿<🤪, 🟫>::📇, 🟫> { [[gnu::always_inline]] static inline void 💁() { 🍿<🤪, 🟫>::💁(); 🥯<typename 🍿<🤪, 🟫>::📇, 🟫>::💁(); } };
template <auto 🧊, auto 🆓, auto 💦> struct 🌷<🧊, 🆓, 💦, false, true> : 👑<🆓> {};
template <template <bool, auto, auto> typename 🌌, auto 💞, auto 🦕, bool 🍸> struct 🥮<🌌, 💞, 🦕, true, 🍸> : 👑<decltype(💞) { 0 }> {};
template <typename, typename, typename 😹, typename 🐀, bool = 🤳<🦶<😹, 🐀>, 📥<🦶<😹, 🐀>>>> struct 🆘;
template <typename 🧊, auto 🎴, auto 🪥 = 1> using 🆓 = 📺<🪅<🥩<🎴, 0>, 🎂<📔<🎴, 🪥>, 🧊>, 🛫<0_👺, 0_👺, 0_👺>>>;
template <auto 🦾, auto 🥗, auto 🕑, bool 📻> struct 🌷<🦾, 🥗, 🕑, true, 📻> : 👑<🥗> {};
template <typename 🍒, typename 🥵> struct 📟 : _<🛫<📹<🍒, 🥵, 1, 2>, 📹<🍒, 🥵, 2, 0>, 📹<🍒, 🥵, 0, 1>>> {};
template <typename 📙> constexpr static auto 🥰 = 🦶<📙, 📙>;
template <template <bool, auto, auto> typename 🦞, auto 🐆, auto 🐎> struct 🥮<🦞, 🐆, 🐎, false, true> : 👑<🐆> {};
template <bool 🫀, auto 🤞, auto 🚩> struct 🚓 : 👑<👤<🌷<🤞, 🍀<🤞, 2>, 0>::🤥, 🚩>> {};
template <auto 🗻> struct 🥯<🧘<>, 🗻> { [[gnu::always_inline]] static inline void 💁() {} };
template <template <bool, auto, auto> typename 🤎, auto 🍮, auto 📰> constexpr static auto 🪝 = 🥮<🤎, 🍮, 📰>::🤥;
template <auto 🏼, auto 👈> struct 🚓<true, 🏼, 👈> : 👑<🪝<🚓, 🍀<🏼, 4>, 👈 * 2>> {};
template <typename 🍟, auto 🧢, auto 🌅> unsigned 🏄() { asm goto ("" :::: 🙃); constexpr static auto 🥘 = 54 + (🧢 * 3 + 🏨<🧢>) * 🌅; return 🥘; 🙃: 🪕<7370856>(); asm volatile (".local 🏁; 🏁:"); 🏪<19778>(); 🪕<🥘, 0, 54, 40, 🧢, 🌅, 1572865, 0, 0, 100, 100, 0, 0>(); 🥯<🍟, 🧢>::💁(); return 0; }
template <auto 🗻> constexpr static auto 🕟 = 🪝<🚓, 🗻, 1>;
template <typename 🔅> constexpr static auto 📂 = 🕟<🥰<🔅>>;
template <typename 🍺> struct 🛷 : _<🎂<🍀<1.0_👺, 📂<🍺>>, 📺<🍺>>> {};
template <typename 🕠, typename 😓, typename 🤒, typename 🕤, typename 💗, typename 🎯> struct 🤫<🐽<🕠, 😓, 🤒, 🕤>, 💗, 🎯> : 👑<🥩<🥰<👩<🕠, 👩<🎯, 🎂<🦶<👩<🎯, 🕠>, 🛷<👩<🤒, 🕠>>>, 🛷<👩<🤒, 🕠>>>>>>, 👤<🕤::🤥, 🕤::🤥>> || 🤳<🦶<👩<🎯, 🕠>, 🛷<👩<🤒, 🕠>>>, 0_👺> || 📺<💆<🦶<👩<🎯, 🕠>, 🛷<👩<🤒, 🕠>>>, 📺<🏐<🍶<🎯, 📺<🛷<👩<🕠, 🤒>>>>, 💗>>>>::🤥> {};
template <typename 🦬, auto 🦨, auto 🍳, auto 🛃, auto 🤞> using 😄 = 📺<🛷<🆒<typename 🦬::🌼, 🆒<🎂<🍀<🍀<🕜<🧼<🛃>, 🍀<🧼<🦨>, 2_👺>>, 2_👺>, 🧼<🦨>>, typename 🦬::🌞>, 🎂<🦚<🍀<🍀<🕜<🧼<🤞>, 🍀<🧼<🍳>, 2_👺>>, 2_👺>, 🧼<🍳>>>, typename 🦬::🆔>>>>>;
template <typename 🔌, typename 🌅> struct 🍡 { using 🔺 = 🛫<0_👺, 🦚<1_👺>, 0_👺>; using 🌼 = 📺<🛷<👩<🌅, 🔌>>>; using 🌞 = 📺<🎂<1.5_👺, 🛷<📟<🌼, 🔺>>>>; using 🆔 = 📺<🎂<1.5_👺, 🛷<📟<🌼, 🌞>>>>; };
template <typename 💜, auto 📗> struct 🈸 { template <auto 🏂, bool = 🥩<🏂, 0>> struct 🎠 : 👑<false> {}; template <auto 🏂> struct 🎠<🏂, true> : 👑<🏂> {}; template <auto, auto 🕡, bool = 🧛<🕡, 0>> struct 🍬 : 👑<false> {}; template <auto 👌, auto 🕡> struct 🍬<👌, 🕡, true> : _<🎠<🕜<👌, 🕟<🕡>>>>{}; template <typename, auto 👌, bool = 🧛<👌, 0>> struct 🩸 : 👑<false> {}; template <typename 🏥, auto 👌> struct 🩸<🏥, 👌, true> : _<🍬<👌, 🕜<👤<📗, 📗>, 🕜<🦶<🏥, 🏥>, 👤<👌, 👌>>>>> {}; template <typename> struct 🐬; template <typename 🥫, typename 🛖> struct 🐬<🍶<🥫, 🛖>> : _<🩸<👩<💜, 🥫>, 🦶<👩<💜, 🥫>, 🛖>>> {}; template <typename 🐶> using 🧁 = 📺<🐬<🐶>>; template <typename 🦂> using 🦯 = 📺<🛷<👩<🦂, 💜>>>; };
template <typename 🉐, auto 💓> struct 🤨 { template <typename, auto 🧦, bool 🚠 = 😥<🧦, 0>> struct 🩳 : 👑<false> {}; template <typename 🛑, auto 🧦> struct 🩳<🛑, 🧦, true> : 👑<🍀<👏<🦶<🛷<🉐>, 🛑>, 💓>, 🦚<🧦>>> {}; template <typename> struct 🫔; template <typename 🛑, typename 🚃> struct 🫔<🍶<🛑, 🚃>> : _<🩳<🛑, 🦶<🛷<🉐>, 🚃>>> {}; template <typename 🫖> using 🍾 = 📺<🫔<🫖>>; template <typename> using 🧻 = 📺<🛷<🉐>>; };
template <typename 📳, typename 🎬> using 🎯 = 📺<🛷<👩<📳, 🎂<2.0_👺, 🎂<🦶<🎬, 📳>, 🎬>>>>>;
template <typename 🚙, typename 🟤, typename 💋> struct 🧁 { using 🍗 = 📺<👩<🟤, 🚙>>; using 🐑 = 📺<👩<💋, 🚙>>; template <auto 😒, auto 🍔, auto 👽, bool = 🧛<😒, 0> && 🧛<🍔, 0> && 🤳<😒, 1> && 🤳<👏<😒, 🍔>, 1> && 🥩<👽, 📥<👽>>> struct 🐆 : 👑<false> {}; template <auto 😒, auto 🍔, auto 👽> struct 🐆<😒, 🍔, 👽, true> : 👑<👽> {}; template <typename, typename, typename, auto 🔼, bool = 🥩<🧕<🔼>, 📥<🔼>>> struct 🎥 : 👑<false> {}; template <typename 🔢, typename 🦁, typename 🛅, auto 🔼> struct 🎥<🔢, 🦁, 🛅, 🔼, true> : _<🐆<👤<🍀<1_👺, 🔼>, 🦶<👩<🔢, 🚙>, 🛅>>, 👤<🍀<1_👺, 🔼>, 🦶<🦁, 📟<👩<🔢, 🚙>, 🍗>>>, 👤<🍀<1_👺, 🔼>, 🦶<🐑, 📟<👩<🔢, 🚙>, 🍗>>>>> {}; template <typename> struct 🔟; template <typename 🔢, typename 🦁> struct 🔟<🍶<🔢, 🦁>> : _<🎥<🔢, 🦁, 📺<📟<🦁, 🐑>>, 🦶<🍗, 📟<🦁, 🐑>>>> {}; template <typename 🤭> using 🙅 = 📺<🔟<🤭>>; template <typename> using 🐡 = 📺<🛷<📟<🐑, 🍗>>>; };
template <typename 📅, typename 🐄, typename 🦨, typename 🕞> struct 🤫<📣<📅, 🐄>, 🦨, 🕞> : 💆<📂<👩<📅, 🕞>>, 📺<🏐<🍶<🕞, 📺<🛷<👩<📅, 🕞>>>>, 🦨>>> {};
template <typename 🎶, typename 🐭, typename 🎆, typename 🧆> struct 🆘<🎶, 🐭, 🎆, 🧆, true> { using 🈲 = 📺<🛷<🎆>>; using 🏏 = 📺<🛷<🧆>>; using 😌 = 📺<🛷<📟<🎆, 🧆>>>; template <typename 📍> using 🎭 = 🛫<🦶<🈲, 📍>, 🦶<🏏, 📍>, 🦶<😌, 📍>>; template <typename 📍> struct 🚭 { template <auto... 🔌> constexpr static auto 💏 = 🦶<🛫<🔌...>, 📍>; }; template <typename 📍> using 🧱 = 📺<🥔<🚭<📍>::template 💏, 🈲, 🏏, 😌>>; using 💱 = 📺<🤵<🐭, 🐭>>; template <auto 🍲, auto 🔰> struct 🦣 : _<🪅<🤳<🍲, 🔰>, 👑<🍲>, 👑<🔰>>> {}; template <auto 🍲, auto 🔰, auto 🙎, auto 🎻 = 🕜<👤<🔰, 🔰>, 👤<🍲, 👤<🙎, 4_👺>>>, bool = 🧛<🎻, 📥<🎻>>> struct 📖 : 👑<false> {}; template <auto 🍲, auto 🔰, auto 🙎, auto 🎻> struct 📖<🍲, 🔰, 🙎, 🎻, true> : _<🦣<🍀<👏<🦚<🔰>, 🕟<🎻>>, 👤<2_👺, 🍲>>, 🍀<🕜<🦚<🔰>, 🕟<🎻>>, 👤<2_👺, 🍲>>>> {}; template <typename 🤺, typename 🙂> struct 😇 : _<📖<👒<🥅, 🌮<🤵<🙂, 🙂>, 💱>>, 👒<🥅, 🌮<🎂<2, 🤵<🤺, 🙂>>, 💱>>, 🕜<👒<🥅, 🌮<🤵<🤺, 🤺>, 💱>>, 1_👺>>> {}; template <typename 🪙, typename 🥼> struct 🧑 : _<😇<🎭<🪙>, 🎭<🥼>>>{}; template <typename> struct 👲; template <typename 🥇, typename 🥼> struct 👲<🍶<🥇, 🥼>> : _<🧑<👩<🥇, 🎶>, 🥼>> {}; template <typename 🆑> using 🏮 = 📺<👲<🆑>>; template <typename 🦮> using 🏢 = 📺<🛷<🧱<🌮<🎭<👩<🦮, 🎶>>, 💱>>>>; };
template <typename 🦽, auto 🆙, typename 🍄> using 💌 = 🧮<🤨<🦽, 🆙>::template 🍾, 🤨<🦽, 🆙>::template 🧻, 🍄>;
template <typename 🔔, typename 💐, typename 🍦> constexpr static auto 🎴 = 📺<🤫<🔔, 💐, 🍦>>::🤥;
template <template <typename, typename, auto, typename> typename 🚄, typename 🎏, typename 🤒, typename 🦘, auto 🚭, typename 🫖, auto 🈹, typename 🕌> struct 🍚<🚄, 🎏, 🤒, 🦘, 🚭, 🫖, 🈹, 🕌, true> : _<🎂<🥬<🐏<🎏>, 🆒<🎂<🚭, 🦘>, 🤒>>, 📺<🚄<🍶<🆒<🎂<🚭, 🦘>, 🤒>, 🎯<🦘, 🔘<🎏, 🆒<🎂<🚭, 🦘>, 🤒>>>>, 🫖, 🈹 + 1, 🕌>>>> {};
template <typename 🏃, typename 🐦, typename 🪜, typename 🪄> using 😁 = 🧮<🧁<🏃, 🐦, 🪜>::template 🙅, 🧁<🏃, 🐦, 🪜>::template 🐡, 🪄>;
template <typename 🧨, auto 🧬, typename 🍵> using 🪗 = 🧮<🈸<🧨, 🧬>::template 🧁, 🈸<🧨, 🧬>::template 🦯, 🍵>;
template <typename 🫕, typename 🪣, typename 🔜, typename 📝, typename 🥇> using 🧵 = 🧮<🆘<🫕, 🪣, 🔜, 📝>::template 🏮, 🆘<🫕, 🪣, 🔜, 📝>::template 🏢, 🥇>;
template <typename 🔻, typename 🎨, typename 🪐, auto 🪄, typename 🐂> struct 📈 { using 🔀 = 📺<🆒<🎂<🪄, 🪐>, 🎨>>; using 🐒 = 🔘<🔻, 🔀>; using 🐨 = 🎯<🪐, 🐒>; using 🌭 = 🙆<🐏<🔻>, 🔀>; using 🦹 = 😂<🐏<🔻>, 🔀>; template <typename, typename> struct 🦇; template <template <typename, typename, typename...> typename 🧶, typename 📄, typename 👂, typename 🐙, typename... 🚞> struct 🦇<📄, 🧶<👂, 🐙, 🚞...>> : _<🪅<🎴<🧶<👂, 🐙, 🚞...>, 🐂, 🔀>, 📄, 📺<🆒<📄, 🆒<🤵<🌭, 🆓<🐙, 🦶<🐒, 🛷<👩<👂, 🔀>>>>>, 🤵<🦹, 🆓<🐙, 🦶<🛷<🐨>, 🛷<👩<👂, 🔀>>>, 🛻<🐏<🔻>>>>>>>>> {}; };
template <typename 🔤, typename 🟥, typename 📎, auto 🚷, typename 🪜, typename 😿, typename 😩> struct 💑<🔤, 🟥, 📎, 🚷, 🔭<🪜, 😿, 😩>> : _<😷<📈<🔤, 🟥, 📎, 🚷, 🔭<🪜, 😿, 😩>>::template 🦇, 😿, 🛫<0_👺, 0_👺, 0_👺>>> {};
template <template <typename, typename, auto, typename> typename 😝, typename 🌝, typename 🤤, typename 🦖, auto 🫓, typename 🟨, auto 👵, typename 🔯> struct 👚<😝, 🚝<🌝, 🍶<🤤, 🦖>, 🫓>, 🟨, 👵, 🔯> : _<🆒<🆒<🔯, 📺<💑<🌝, 🤤, 🦖, 🫓, 🟨>>>, 📺<🍚<😝, 🌝, 🤤, 🦖, 🫓, 🟨, 👵, 🔯>>>> {};
template <template <typename, typename, auto, typename> typename 🪡, typename 👛, typename 🌝, auto 💗, typename 👎> struct 🚅 : _<👚<🪡, 👛, 🌝, 💗, 👎>> {};
template <template <typename, typename, auto, typename> typename 🪄, typename 😩, auto 🏓, typename 💤> struct 🚅<🪄, void, 😩, 🏓, 💤> : _<💤> {};
template <typename 🚺, typename 🧄, auto 🍺, typename 👽> struct 🚩 : _<🚅<🚩, 📺<🏐<🚺, 🧄>>, 🧄, 🍺, 👽>> {};
template <typename 🛃, typename 📒, auto 🐫, typename 🥂> using 🥚 = 📺<🚩<🛃, 📒, 🐫, 🥂>>;
template <typename 💎, typename 🐉, typename 🐐, typename 🌁, auto 🏓, auto 🦊, auto 📉, auto 🆚, typename 🍄> struct 📫<🔭<💎, 🐉, 🍡<🐐, 🌁>>, 🏓, 🦊, 📉, 🆚, 🍄> : _<🥚<🍶<🐐, 😄<🍡<🐐, 🌁>, 🏓, 🦊, 📉, 🆚>>, 🔭<💎, 🐉, 🍡<🐐, 🌁>>, 0, 🍄>> {};
template <typename 📚, auto 🪚, auto 🍨, auto 🚄, auto 🧦, typename 🦬 = 🛫<0_👺, 0_👺, 0_👺>> using 🦏 = 📺<🥔<🤜, 📺<📫<📚, 🪚, 🍨, 🚄, 🧦, 🦬>>>>;
template <typename 🍄, auto 🚛, auto 🙂, auto 🚙, auto 🤲> struct 🤍<🍄, 🚛, 🙂, 🚙, 🤲, true> : _<🕗<🧘<🦏<🍄, 🚛, 🙂, 🚙, 🤲>>, 📺<🤍<🍄, 🚛, 🙂, 🚙 < 🚛 - 1 ? 🚙 + 1 : 0, 🚙 < 🚛 - 1 ? 🤲 : 🤲 - 1>>>> {};
template <typename 💈, auto 🕌, auto 🧷> using 💄 = 📺<🤍<💈, 🕌, 🧷>>;

#include "flag.hpp"
auto 📏 = 🏄<💄<🐋, 🌓, 🚜>, 🌓, 🚜>();

#include <iostream>
extern "C" char 🏁;
int main(int 🕢, char *🧃[])
{
    std::cout.write(&🏁, 📏);
}
