// Copyright David Abrahams and Aleksey Gurtovoy 2004.
// Distributed under the Boost Software License, Version 1.0. 
// (See accompanying file LICENSE_1_0.txt or copy at 
// http://www.boost.org/LICENSE_1_0.txt)

#if defined(__MWERKS__)
#   pragma template_depth(2000)
#endif

#if !defined(N)
#   error "N is not defined!"
#endif

template <class H, class T> struct node {};

template <class T, class U>
struct push
{
#ifndef DIFF
    typedef node<U, T> type;
#else
    typedef node<U, void> type;
#endif 
};

#if 0

#elif N <= 0
template <class T> struct test : push< int, T> {};

#elif N <= 10
template <class T> struct test : push< node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, int > > > > > > > > > >, T> {};

#elif N <= 20
template <class T> struct test : push< node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, int > > > > > > > > > > > > > > > > > > > >, T> {};

#elif N <= 30
template <class T> struct test : push< node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, int > > > > > > > > > > > > > > > > > > > > > > > > > > > > > >, T> {};

#elif N <= 40
template <class T> struct test : push< node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, int > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > >, T> {};

#elif N <= 50
template <class T> struct test : push< node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, int > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > >, T> {};

#elif N <= 60
template <class T> struct test : push< node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, int > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > >, T> {};

#elif N <= 70
template <class T> struct test : push< node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, int > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > >, T> {};

#elif N <= 80
template <class T> struct test : push< node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, int > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > >, T> {};

#elif N <= 90
template <class T> struct test : push< node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, int > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > >, T> {};

#elif N <= 100
template <class T> struct test : push< node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, int > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > >, T> {};

#elif N <= 110
template <class T> struct test : push< node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, int > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > >, T> {};

#elif N <= 120
template <class T> struct test : push< node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, int > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > >, T> {};

#elif N <= 130
template <class T> struct test : push< node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, int > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > >, T> {};

#elif N <= 140
template <class T> struct test : push< node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, int > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > >, T> {};

#elif N <= 150
template <class T> struct test : push< node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, int > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > >, T> {};

#elif N <= 160
template <class T> struct test : push< node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, int > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > >, T> {};

#elif N <= 170
template <class T> struct test : push< node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, int > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > >, T> {};

#elif N <= 180
template <class T> struct test : push< node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, int > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > >, T> {};

#elif N <= 190
template <class T> struct test : push< node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, int > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > >, T> {};

#elif N <= 200
template <class T> struct test : push< node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, int > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > >, T> {};

#elif N <= 210
template <class T> struct test : push< node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, int > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > >, T> {};

#elif N <= 220
template <class T> struct test : push< node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, int > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > >, T> {};

#elif N <= 230
template <class T> struct test : push< node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, int > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > >, T> {};

#elif N <= 240
template <class T> struct test : push< node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, int > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > >, T> {};

#elif N <= 250
template <class T> struct test : push< node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, int > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > >, T> {};

#elif N <= 260
template <class T> struct test : push< node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, int > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > >, T> {};

#elif N <= 270
template <class T> struct test : push< node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, int > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > >, T> {};

#elif N <= 280
template <class T> struct test : push< node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, int > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > >, T> {};

#elif N <= 290
template <class T> struct test : push< node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, int > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > >, T> {};

#elif N <= 300
template <class T> struct test : push< node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, int > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > >, T> {};

#elif N <= 310
template <class T> struct test : push< node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, int > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > >, T> {};

#elif N <= 320
template <class T> struct test : push< node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, int > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > >, T> {};

#elif N <= 330
template <class T> struct test : push< node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, int > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > >, T> {};

#elif N <= 340
template <class T> struct test : push< node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, int > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > >, T> {};

#elif N <= 350
template <class T> struct test : push< node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, int > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > >, T> {};

#elif N <= 360
template <class T> struct test : push< node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, int > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > >, T> {};

#elif N <= 370
template <class T> struct test : push< node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, int > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > >, T> {};

#elif N <= 380
template <class T> struct test : push< node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, int > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > >, T> {};

#elif N <= 390
template <class T> struct test : push< node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, int > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > >, T> {};

#elif N <= 400
template <class T> struct test : push< node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, int > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > >, T> {};

#elif N <= 410
template <class T> struct test : push< node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, int > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > >, T> {};

#elif N <= 420
template <class T> struct test : push< node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, int > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > >, T> {};

#elif N <= 430
template <class T> struct test : push< node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, int > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > >, T> {};

#elif N <= 440
template <class T> struct test : push< node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, int > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > >, T> {};

#elif N <= 450
template <class T> struct test : push< node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, int > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > >, T> {};

#elif N <= 460
template <class T> struct test : push< node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, int > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > >, T> {};

#elif N <= 470
template <class T> struct test : push< node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, int > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > >, T> {};

#elif N <= 480
template <class T> struct test : push< node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, int > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > >, T> {};

#elif N <= 490
template <class T> struct test : push< node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, node<int, int > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > >, T> {};

#endif

int main()
{
    typedef test<char[1]>::type t1;
    typedef test<char[2]>::type t2;
    typedef test<char[3]>::type t3;
    typedef test<char[4]>::type t4;
    typedef test<char[5]>::type t5;
    typedef test<char[6]>::type t6;
    typedef test<char[7]>::type t7;
    typedef test<char[8]>::type t8;
    typedef test<char[9]>::type t9;
    typedef test<char[10]>::type t10;
}
