#define repeat(N) for(int _i=0,_j=(N); _i++<_j;)
#define for_each(ONE_T,ONE,ALL_T,...) for(_init_##ONE_T##_##ALL_T(_head_##ONE_T##_##ALL_T(ONE,__VA_ARGS__));_test_##ONE_T##_##ALL_T(ONE,__VA_ARGS__) || _free_##ONE_T##_##ALL_T(ONE,__VA_ARGS__);_next_##ONE_T##_##ALL_T(ONE,__VA_ARGS__))
#define count(ONE_T,ALL_T,...) _count_##ONE_T##_##ALL_T(__VA_ARGS__)
#define repeat(N) for(int _i=0,_j=(N); _i++<_j;)
#define for_each(ONE_T,ONE,ALL_T,...) for(_init_##ONE_T##_##ALL_T(_head_##ONE_T##_##ALL_T(ONE,__VA_ARGS__));_test_##ONE_T##_##ALL_T(ONE,__VA_ARGS__) || _free_##ONE_T##_##ALL_T(ONE,__VA_ARGS__);_next_##ONE_T##_##ALL_T(ONE,__VA_ARGS__))
#define count(ONE_T,ALL_T,...) _count_##ONE_T##_##ALL_T(__VA_ARGS__)