/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman 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) This is an auto-generated file. Do not edit!==============================================================================*/namespaceboost{namespacefusion{namespacedetail{template<typenameT0,typenameT1,typenameT2,typenameT3,typenameT4,typenameT5,typenameT6,typenameT7,typenameT8,typenameT9,typenameT10,typenameT11,typenameT12,typenameT13,typenameT14,typenameT15,typenameT16,typenameT17,typenameT18,typenameT19,typenameT20,typenameT21,typenameT22,typenameT23,typenameT24,typenameT25,typenameT26,typenameT27,typenameT28,typenameT29,typenameT30,typenameT31,typenameT32,typenameT33,typenameT34,typenameT35,typenameT36,typenameT37,typenameT38,typenameT39,typenameT40,typenameT41,typenameT42,typenameT43,typenameT44,typenameT45,typenameT46,typenameT47,typenameT48,typenameT49>structvector_n_chooser{typedefvector50<T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22,T23,T24,T25,T26,T27,T28,T29,T30,T31,T32,T33,T34,T35,T36,T37,T38,T39,T40,T41,T42,T43,T44,T45,T46,T47,T48,T49>type;};template<>structvector_n_chooser<void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_>{typedefvector0<>type;};template<typenameT0>structvector_n_chooser<T0,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_>{typedefvector1<T0>type;};template<typenameT0,typenameT1>structvector_n_chooser<T0,T1,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_>{typedefvector2<T0,T1>type;};template<typenameT0,typenameT1,typenameT2>structvector_n_chooser<T0,T1,T2,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_>{typedefvector3<T0,T1,T2>type;};template<typenameT0,typenameT1,typenameT2,typenameT3>structvector_n_chooser<T0,T1,T2,T3,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_>{typedefvector4<T0,T1,T2,T3>type;};template<typenameT0,typenameT1,typenameT2,typenameT3,typenameT4>structvector_n_chooser<T0,T1,T2,T3,T4,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_>{typedefvector5<T0,T1,T2,T3,T4>type;};template<typenameT0,typenameT1,typenameT2,typenameT3,typenameT4,typenameT5>structvector_n_chooser<T0,T1,T2,T3,T4,T5,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_>{typedefvector6<T0,T1,T2,T3,T4,T5>type;};template<typenameT0,typenameT1,typenameT2,typenameT3,typenameT4,typenameT5,typenameT6>structvector_n_chooser<T0,T1,T2,T3,T4,T5,T6,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_>{typedefvector7<T0,T1,T2,T3,T4,T5,T6>type;};template<typenameT0,typenameT1,typenameT2,typenameT3,typenameT4,typenameT5,typenameT6,typenameT7>structvector_n_chooser<T0,T1,T2,T3,T4,T5,T6,T7,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_>{typedefvector8<T0,T1,T2,T3,T4,T5,T6,T7>type;};template<typenameT0,typenameT1,typenameT2,typenameT3,typenameT4,typenameT5,typenameT6,typenameT7,typenameT8>structvector_n_chooser<T0,T1,T2,T3,T4,T5,T6,T7,T8,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_>{typedefvector9<T0,T1,T2,T3,T4,T5,T6,T7,T8>type;};template<typenameT0,typenameT1,typenameT2,typenameT3,typenameT4,typenameT5,typenameT6,typenameT7,typenameT8,typenameT9>structvector_n_chooser<T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_>{typedefvector10<T0,T1,T2,T3,T4,T5,T6,T7,T8,T9>type;};template<typenameT0,typenameT1,typenameT2,typenameT3,typenameT4,typenameT5,typenameT6,typenameT7,typenameT8,typenameT9,typenameT10>structvector_n_chooser<T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_>{typedefvector11<T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10>type;};template<typenameT0,typenameT1,typenameT2,typenameT3,typenameT4,typenameT5,typenameT6,typenameT7,typenameT8,typenameT9,typenameT10,typenameT11>structvector_n_chooser<T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_>{typedefvector12<T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11>type;};template<typenameT0,typenameT1,typenameT2,typenameT3,typenameT4,typenameT5,typenameT6,typenameT7,typenameT8,typenameT9,typenameT10,typenameT11,typenameT12>structvector_n_chooser<T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_>{typedefvector13<T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12>type;};template<typenameT0,typenameT1,typenameT2,typenameT3,typenameT4,typenameT5,typenameT6,typenameT7,typenameT8,typenameT9,typenameT10,typenameT11,typenameT12,typenameT13>structvector_n_chooser<T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_>{typedefvector14<T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13>type;};template<typenameT0,typenameT1,typenameT2,typenameT3,typenameT4,typenameT5,typenameT6,typenameT7,typenameT8,typenameT9,typenameT10,typenameT11,typenameT12,typenameT13,typenameT14>structvector_n_chooser<T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_>{typedefvector15<T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14>type;};template<typenameT0,typenameT1,typenameT2,typenameT3,typenameT4,typenameT5,typenameT6,typenameT7,typenameT8,typenameT9,typenameT10,typenameT11,typenameT12,typenameT13,typenameT14,typenameT15>structvector_n_chooser<T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_>{typedefvector16<T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15>type;};template<typenameT0,typenameT1,typenameT2,typenameT3,typenameT4,typenameT5,typenameT6,typenameT7,typenameT8,typenameT9,typenameT10,typenameT11,typenameT12,typenameT13,typenameT14,typenameT15,typenameT16>structvector_n_chooser<T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_>{typedefvector17<T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16>type;};template<typenameT0,typenameT1,typenameT2,typenameT3,typenameT4,typenameT5,typenameT6,typenameT7,typenameT8,typenameT9,typenameT10,typenameT11,typenameT12,typenameT13,typenameT14,typenameT15,typenameT16,typenameT17>structvector_n_chooser<T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_>{typedefvector18<T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17>type;};template<typenameT0,typenameT1,typenameT2,typenameT3,typenameT4,typenameT5,typenameT6,typenameT7,typenameT8,typenameT9,typenameT10,typenameT11,typenameT12,typenameT13,typenameT14,typenameT15,typenameT16,typenameT17,typenameT18>structvector_n_chooser<T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_>{typedefvector19<T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18>type;};template<typenameT0,typenameT1,typenameT2,typenameT3,typenameT4,typenameT5,typenameT6,typenameT7,typenameT8,typenameT9,typenameT10,typenameT11,typenameT12,typenameT13,typenameT14,typenameT15,typenameT16,typenameT17,typenameT18,typenameT19>structvector_n_chooser<T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_>{typedefvector20<T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19>type;};template<typenameT0,typenameT1,typenameT2,typenameT3,typenameT4,typenameT5,typenameT6,typenameT7,typenameT8,typenameT9,typenameT10,typenameT11,typenameT12,typenameT13,typenameT14,typenameT15,typenameT16,typenameT17,typenameT18,typenameT19,typenameT20>structvector_n_chooser<T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_>{typedefvector21<T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20>type;};template<typenameT0,typenameT1,typenameT2,typenameT3,typenameT4,typenameT5,typenameT6,typenameT7,typenameT8,typenameT9,typenameT10,typenameT11,typenameT12,typenameT13,typenameT14,typenameT15,typenameT16,typenameT17,typenameT18,typenameT19,typenameT20,typenameT21>structvector_n_chooser<T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_>{typedefvector22<T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21>type;};template<typenameT0,typenameT1,typenameT2,typenameT3,typenameT4,typenameT5,typenameT6,typenameT7,typenameT8,typenameT9,typenameT10,typenameT11,typenameT12,typenameT13,typenameT14,typenameT15,typenameT16,typenameT17,typenameT18,typenameT19,typenameT20,typenameT21,typenameT22>structvector_n_chooser<T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_>{typedefvector23<T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22>type;};template<typenameT0,typenameT1,typenameT2,typenameT3,typenameT4,typenameT5,typenameT6,typenameT7,typenameT8,typenameT9,typenameT10,typenameT11,typenameT12,typenameT13,typenameT14,typenameT15,typenameT16,typenameT17,typenameT18,typenameT19,typenameT20,typenameT21,typenameT22,typenameT23>structvector_n_chooser<T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22,T23,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_>{typedefvector24<T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22,T23>type;};template<typenameT0,typenameT1,typenameT2,typenameT3,typenameT4,typenameT5,typenameT6,typenameT7,typenameT8,typenameT9,typenameT10,typenameT11,typenameT12,typenameT13,typenameT14,typenameT15,typenameT16,typenameT17,typenameT18,typenameT19,typenameT20,typenameT21,typenameT22,typenameT23,typenameT24>structvector_n_chooser<T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22,T23,T24,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_>{typedefvector25<T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22,T23,T24>type;};template<typenameT0,typenameT1,typenameT2,typenameT3,typenameT4,typenameT5,typenameT6,typenameT7,typenameT8,typenameT9,typenameT10,typenameT11,typenameT12,typenameT13,typenameT14,typenameT15,typenameT16,typenameT17,typenameT18,typenameT19,typenameT20,typenameT21,typenameT22,typenameT23,typenameT24,typenameT25>structvector_n_chooser<T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22,T23,T24,T25,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_>{typedefvector26<T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22,T23,T24,T25>type;};template<typenameT0,typenameT1,typenameT2,typenameT3,typenameT4,typenameT5,typenameT6,typenameT7,typenameT8,typenameT9,typenameT10,typenameT11,typenameT12,typenameT13,typenameT14,typenameT15,typenameT16,typenameT17,typenameT18,typenameT19,typenameT20,typenameT21,typenameT22,typenameT23,typenameT24,typenameT25,typenameT26>structvector_n_chooser<T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22,T23,T24,T25,T26,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_>{typedefvector27<T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22,T23,T24,T25,T26>type;};template<typenameT0,typenameT1,typenameT2,typenameT3,typenameT4,typenameT5,typenameT6,typenameT7,typenameT8,typenameT9,typenameT10,typenameT11,typenameT12,typenameT13,typenameT14,typenameT15,typenameT16,typenameT17,typenameT18,typenameT19,typenameT20,typenameT21,typenameT22,typenameT23,typenameT24,typenameT25,typenameT26,typenameT27>structvector_n_chooser<T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22,T23,T24,T25,T26,T27,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_>{typedefvector28<T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22,T23,T24,T25,T26,T27>type;};template<typenameT0,typenameT1,typenameT2,typenameT3,typenameT4,typenameT5,typenameT6,typenameT7,typenameT8,typenameT9,typenameT10,typenameT11,typenameT12,typenameT13,typenameT14,typenameT15,typenameT16,typenameT17,typenameT18,typenameT19,typenameT20,typenameT21,typenameT22,typenameT23,typenameT24,typenameT25,typenameT26,typenameT27,typenameT28>structvector_n_chooser<T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22,T23,T24,T25,T26,T27,T28,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_>{typedefvector29<T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22,T23,T24,T25,T26,T27,T28>type;};template<typenameT0,typenameT1,typenameT2,typenameT3,typenameT4,typenameT5,typenameT6,typenameT7,typenameT8,typenameT9,typenameT10,typenameT11,typenameT12,typenameT13,typenameT14,typenameT15,typenameT16,typenameT17,typenameT18,typenameT19,typenameT20,typenameT21,typenameT22,typenameT23,typenameT24,typenameT25,typenameT26,typenameT27,typenameT28,typenameT29>structvector_n_chooser<T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22,T23,T24,T25,T26,T27,T28,T29,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_>{typedefvector30<T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22,T23,T24,T25,T26,T27,T28,T29>type;};template<typenameT0,typenameT1,typenameT2,typenameT3,typenameT4,typenameT5,typenameT6,typenameT7,typenameT8,typenameT9,typenameT10,typenameT11,typenameT12,typenameT13,typenameT14,typenameT15,typenameT16,typenameT17,typenameT18,typenameT19,typenameT20,typenameT21,typenameT22,typenameT23,typenameT24,typenameT25,typenameT26,typenameT27,typenameT28,typenameT29,typenameT30>structvector_n_chooser<T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22,T23,T24,T25,T26,T27,T28,T29,T30,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_>{typedefvector31<T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22,T23,T24,T25,T26,T27,T28,T29,T30>type;};template<typenameT0,typenameT1,typenameT2,typenameT3,typenameT4,typenameT5,typenameT6,typenameT7,typenameT8,typenameT9,typenameT10,typenameT11,typenameT12,typenameT13,typenameT14,typenameT15,typenameT16,typenameT17,typenameT18,typenameT19,typenameT20,typenameT21,typenameT22,typenameT23,typenameT24,typenameT25,typenameT26,typenameT27,typenameT28,typenameT29,typenameT30,typenameT31>structvector_n_chooser<T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22,T23,T24,T25,T26,T27,T28,T29,T30,T31,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_>{typedefvector32<T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22,T23,T24,T25,T26,T27,T28,T29,T30,T31>type;};template<typenameT0,typenameT1,typenameT2,typenameT3,typenameT4,typenameT5,typenameT6,typenameT7,typenameT8,typenameT9,typenameT10,typenameT11,typenameT12,typenameT13,typenameT14,typenameT15,typenameT16,typenameT17,typenameT18,typenameT19,typenameT20,typenameT21,typenameT22,typenameT23,typenameT24,typenameT25,typenameT26,typenameT27,typenameT28,typenameT29,typenameT30,typenameT31,typenameT32>structvector_n_chooser<T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22,T23,T24,T25,T26,T27,T28,T29,T30,T31,T32,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_>{typedefvector33<T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22,T23,T24,T25,T26,T27,T28,T29,T30,T31,T32>type;};template<typenameT0,typenameT1,typenameT2,typenameT3,typenameT4,typenameT5,typenameT6,typenameT7,typenameT8,typenameT9,typenameT10,typenameT11,typenameT12,typenameT13,typenameT14,typenameT15,typenameT16,typenameT17,typenameT18,typenameT19,typenameT20,typenameT21,typenameT22,typenameT23,typenameT24,typenameT25,typenameT26,typenameT27,typenameT28,typenameT29,typenameT30,typenameT31,typenameT32,typenameT33>structvector_n_chooser<T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22,T23,T24,T25,T26,T27,T28,T29,T30,T31,T32,T33,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_>{typedefvector34<T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22,T23,T24,T25,T26,T27,T28,T29,T30,T31,T32,T33>type;};template<typenameT0,typenameT1,typenameT2,typenameT3,typenameT4,typenameT5,typenameT6,typenameT7,typenameT8,typenameT9,typenameT10,typenameT11,typenameT12,typenameT13,typenameT14,typenameT15,typenameT16,typenameT17,typenameT18,typenameT19,typenameT20,typenameT21,typenameT22,typenameT23,typenameT24,typenameT25,typenameT26,typenameT27,typenameT28,typenameT29,typenameT30,typenameT31,typenameT32,typenameT33,typenameT34>structvector_n_chooser<T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22,T23,T24,T25,T26,T27,T28,T29,T30,T31,T32,T33,T34,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_>{typedefvector35<T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22,T23,T24,T25,T26,T27,T28,T29,T30,T31,T32,T33,T34>type;};template<typenameT0,typenameT1,typenameT2,typenameT3,typenameT4,typenameT5,typenameT6,typenameT7,typenameT8,typenameT9,typenameT10,typenameT11,typenameT12,typenameT13,typenameT14,typenameT15,typenameT16,typenameT17,typenameT18,typenameT19,typenameT20,typenameT21,typenameT22,typenameT23,typenameT24,typenameT25,typenameT26,typenameT27,typenameT28,typenameT29,typenameT30,typenameT31,typenameT32,typenameT33,typenameT34,typenameT35>structvector_n_chooser<T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22,T23,T24,T25,T26,T27,T28,T29,T30,T31,T32,T33,T34,T35,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_>{typedefvector36<T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22,T23,T24,T25,T26,T27,T28,T29,T30,T31,T32,T33,T34,T35>type;};template<typenameT0,typenameT1,typenameT2,typenameT3,typenameT4,typenameT5,typenameT6,typenameT7,typenameT8,typenameT9,typenameT10,typenameT11,typenameT12,typenameT13,typenameT14,typenameT15,typenameT16,typenameT17,typenameT18,typenameT19,typenameT20,typenameT21,typenameT22,typenameT23,typenameT24,typenameT25,typenameT26,typenameT27,typenameT28,typenameT29,typenameT30,typenameT31,typenameT32,typenameT33,typenameT34,typenameT35,typenameT36>structvector_n_chooser<T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22,T23,T24,T25,T26,T27,T28,T29,T30,T31,T32,T33,T34,T35,T36,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_>{typedefvector37<T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22,T23,T24,T25,T26,T27,T28,T29,T30,T31,T32,T33,T34,T35,T36>type;};template<typenameT0,typenameT1,typenameT2,typenameT3,typenameT4,typenameT5,typenameT6,typenameT7,typenameT8,typenameT9,typenameT10,typenameT11,typenameT12,typenameT13,typenameT14,typenameT15,typenameT16,typenameT17,typenameT18,typenameT19,typenameT20,typenameT21,typenameT22,typenameT23,typenameT24,typenameT25,typenameT26,typenameT27,typenameT28,typenameT29,typenameT30,typenameT31,typenameT32,typenameT33,typenameT34,typenameT35,typenameT36,typenameT37>structvector_n_chooser<T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22,T23,T24,T25,T26,T27,T28,T29,T30,T31,T32,T33,T34,T35,T36,T37,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_>{typedefvector38<T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22,T23,T24,T25,T26,T27,T28,T29,T30,T31,T32,T33,T34,T35,T36,T37>type;};template<typenameT0,typenameT1,typenameT2,typenameT3,typenameT4,typenameT5,typenameT6,typenameT7,typenameT8,typenameT9,typenameT10,typenameT11,typenameT12,typenameT13,typenameT14,typenameT15,typenameT16,typenameT17,typenameT18,typenameT19,typenameT20,typenameT21,typenameT22,typenameT23,typenameT24,typenameT25,typenameT26,typenameT27,typenameT28,typenameT29,typenameT30,typenameT31,typenameT32,typenameT33,typenameT34,typenameT35,typenameT36,typenameT37,typenameT38>structvector_n_chooser<T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22,T23,T24,T25,T26,T27,T28,T29,T30,T31,T32,T33,T34,T35,T36,T37,T38,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_>{typedefvector39<T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22,T23,T24,T25,T26,T27,T28,T29,T30,T31,T32,T33,T34,T35,T36,T37,T38>type;};template<typenameT0,typenameT1,typenameT2,typenameT3,typenameT4,typenameT5,typenameT6,typenameT7,typenameT8,typenameT9,typenameT10,typenameT11,typenameT12,typenameT13,typenameT14,typenameT15,typenameT16,typenameT17,typenameT18,typenameT19,typenameT20,typenameT21,typenameT22,typenameT23,typenameT24,typenameT25,typenameT26,typenameT27,typenameT28,typenameT29,typenameT30,typenameT31,typenameT32,typenameT33,typenameT34,typenameT35,typenameT36,typenameT37,typenameT38,typenameT39>structvector_n_chooser<T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22,T23,T24,T25,T26,T27,T28,T29,T30,T31,T32,T33,T34,T35,T36,T37,T38,T39,void_,void_,void_,void_,void_,void_,void_,void_,void_,void_>{typedefvector40<T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22,T23,T24,T25,T26,T27,T28,T29,T30,T31,T32,T33,T34,T35,T36,T37,T38,T39>type;};template<typenameT0,typenameT1,typenameT2,typenameT3,typenameT4,typenameT5,typenameT6,typenameT7,typenameT8,typenameT9,typenameT10,typenameT11,typenameT12,typenameT13,typenameT14,typenameT15,typenameT16,typenameT17,typenameT18,typenameT19,typenameT20,typenameT21,typenameT22,typenameT23,typenameT24,typenameT25,typenameT26,typenameT27,typenameT28,typenameT29,typenameT30,typenameT31,typenameT32,typenameT33,typenameT34,typenameT35,typenameT36,typenameT37,typenameT38,typenameT39,typenameT40>structvector_n_chooser<T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22,T23,T24,T25,T26,T27,T28,T29,T30,T31,T32,T33,T34,T35,T36,T37,T38,T39,T40,void_,void_,void_,void_,void_,void_,void_,void_,void_>{typedefvector41<T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22,T23,T24,T25,T26,T27,T28,T29,T30,T31,T32,T33,T34,T35,T36,T37,T38,T39,T40>type;};template<typenameT0,typenameT1,typenameT2,typenameT3,typenameT4,typenameT5,typenameT6,typenameT7,typenameT8,typenameT9,typenameT10,typenameT11,typenameT12,typenameT13,typenameT14,typenameT15,typenameT16,typenameT17,typenameT18,typenameT19,typenameT20,typenameT21,typenameT22,typenameT23,typenameT24,typenameT25,typenameT26,typenameT27,typenameT28,typenameT29,typenameT30,typenameT31,typenameT32,typenameT33,typenameT34,typenameT35,typenameT36,typenameT37,typenameT38,typenameT39,typenameT40,typenameT41>structvector_n_chooser<T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22,T23,T24,T25,T26,T27,T28,T29,T30,T31,T32,T33,T34,T35,T36,T37,T38,T39,T40,T41,void_,void_,void_,void_,void_,void_,void_,void_>{typedefvector42<T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22,T23,T24,T25,T26,T27,T28,T29,T30,T31,T32,T33,T34,T35,T36,T37,T38,T39,T40,T41>type;};template<typenameT0,typenameT1,typenameT2,typenameT3,typenameT4,typenameT5,typenameT6,typenameT7,typenameT8,typenameT9,typenameT10,typenameT11,typenameT12,typenameT13,typenameT14,typenameT15,typenameT16,typenameT17,typenameT18,typenameT19,typenameT20,typenameT21,typenameT22,typenameT23,typenameT24,typenameT25,typenameT26,typenameT27,typenameT28,typenameT29,typenameT30,typenameT31,typenameT32,typenameT33,typenameT34,typenameT35,typenameT36,typenameT37,typenameT38,typenameT39,typenameT40,typenameT41,typenameT42>structvector_n_chooser<T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22,T23,T24,T25,T26,T27,T28,T29,T30,T31,T32,T33,T34,T35,T36,T37,T38,T39,T40,T41,T42,void_,void_,void_,void_,void_,void_,void_>{typedefvector43<T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22,T23,T24,T25,T26,T27,T28,T29,T30,T31,T32,T33,T34,T35,T36,T37,T38,T39,T40,T41,T42>type;};template<typenameT0,typenameT1,typenameT2,typenameT3,typenameT4,typenameT5,typenameT6,typenameT7,typenameT8,typenameT9,typenameT10,typenameT11,typenameT12,typenameT13,typenameT14,typenameT15,typenameT16,typenameT17,typenameT18,typenameT19,typenameT20,typenameT21,typenameT22,typenameT23,typenameT24,typenameT25,typenameT26,typenameT27,typenameT28,typenameT29,typenameT30,typenameT31,typenameT32,typenameT33,typenameT34,typenameT35,typenameT36,typenameT37,typenameT38,typenameT39,typenameT40,typenameT41,typenameT42,typenameT43>structvector_n_chooser<T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22,T23,T24,T25,T26,T27,T28,T29,T30,T31,T32,T33,T34,T35,T36,T37,T38,T39,T40,T41,T42,T43,void_,void_,void_,void_,void_,void_>{typedefvector44<T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22,T23,T24,T25,T26,T27,T28,T29,T30,T31,T32,T33,T34,T35,T36,T37,T38,T39,T40,T41,T42,T43>type;};template<typenameT0,typenameT1,typenameT2,typenameT3,typenameT4,typenameT5,typenameT6,typenameT7,typenameT8,typenameT9,typenameT10,typenameT11,typenameT12,typenameT13,typenameT14,typenameT15,typenameT16,typenameT17,typenameT18,typenameT19,typenameT20,typenameT21,typenameT22,typenameT23,typenameT24,typenameT25,typenameT26,typenameT27,typenameT28,typenameT29,typenameT30,typenameT31,typenameT32,typenameT33,typenameT34,typenameT35,typenameT36,typenameT37,typenameT38,typenameT39,typenameT40,typenameT41,typenameT42,typenameT43,typenameT44>structvector_n_chooser<T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22,T23,T24,T25,T26,T27,T28,T29,T30,T31,T32,T33,T34,T35,T36,T37,T38,T39,T40,T41,T42,T43,T44,void_,void_,void_,void_,void_>{typedefvector45<T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22,T23,T24,T25,T26,T27,T28,T29,T30,T31,T32,T33,T34,T35,T36,T37,T38,T39,T40,T41,T42,T43,T44>type;};template<typenameT0,typenameT1,typenameT2,typenameT3,typenameT4,typenameT5,typenameT6,typenameT7,typenameT8,typenameT9,typenameT10,typenameT11,typenameT12,typenameT13,typenameT14,typenameT15,typenameT16,typenameT17,typenameT18,typenameT19,typenameT20,typenameT21,typenameT22,typenameT23,typenameT24,typenameT25,typenameT26,typenameT27,typenameT28,typenameT29,typenameT30,typenameT31,typenameT32,typenameT33,typenameT34,typenameT35,typenameT36,typenameT37,typenameT38,typenameT39,typenameT40,typenameT41,typenameT42,typenameT43,typenameT44,typenameT45>structvector_n_chooser<T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22,T23,T24,T25,T26,T27,T28,T29,T30,T31,T32,T33,T34,T35,T36,T37,T38,T39,T40,T41,T42,T43,T44,T45,void_,void_,void_,void_>{typedefvector46<T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22,T23,T24,T25,T26,T27,T28,T29,T30,T31,T32,T33,T34,T35,T36,T37,T38,T39,T40,T41,T42,T43,T44,T45>type;};template<typenameT0,typenameT1,typenameT2,typenameT3,typenameT4,typenameT5,typenameT6,typenameT7,typenameT8,typenameT9,typenameT10,typenameT11,typenameT12,typenameT13,typenameT14,typenameT15,typenameT16,typenameT17,typenameT18,typenameT19,typenameT20,typenameT21,typenameT22,typenameT23,typenameT24,typenameT25,typenameT26,typenameT27,typenameT28,typenameT29,typenameT30,typenameT31,typenameT32,typenameT33,typenameT34,typenameT35,typenameT36,typenameT37,typenameT38,typenameT39,typenameT40,typenameT41,typenameT42,typenameT43,typenameT44,typenameT45,typenameT46>structvector_n_chooser<T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22,T23,T24,T25,T26,T27,T28,T29,T30,T31,T32,T33,T34,T35,T36,T37,T38,T39,T40,T41,T42,T43,T44,T45,T46,void_,void_,void_>{typedefvector47<T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22,T23,T24,T25,T26,T27,T28,T29,T30,T31,T32,T33,T34,T35,T36,T37,T38,T39,T40,T41,T42,T43,T44,T45,T46>type;};template<typenameT0,typenameT1,typenameT2,typenameT3,typenameT4,typenameT5,typenameT6,typenameT7,typenameT8,typenameT9,typenameT10,typenameT11,typenameT12,typenameT13,typenameT14,typenameT15,typenameT16,typenameT17,typenameT18,typenameT19,typenameT20,typenameT21,typenameT22,typenameT23,typenameT24,typenameT25,typenameT26,typenameT27,typenameT28,typenameT29,typenameT30,typenameT31,typenameT32,typenameT33,typenameT34,typenameT35,typenameT36,typenameT37,typenameT38,typenameT39,typenameT40,typenameT41,typenameT42,typenameT43,typenameT44,typenameT45,typenameT46,typenameT47>structvector_n_chooser<T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22,T23,T24,T25,T26,T27,T28,T29,T30,T31,T32,T33,T34,T35,T36,T37,T38,T39,T40,T41,T42,T43,T44,T45,T46,T47,void_,void_>{typedefvector48<T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22,T23,T24,T25,T26,T27,T28,T29,T30,T31,T32,T33,T34,T35,T36,T37,T38,T39,T40,T41,T42,T43,T44,T45,T46,T47>type;};template<typenameT0,typenameT1,typenameT2,typenameT3,typenameT4,typenameT5,typenameT6,typenameT7,typenameT8,typenameT9,typenameT10,typenameT11,typenameT12,typenameT13,typenameT14,typenameT15,typenameT16,typenameT17,typenameT18,typenameT19,typenameT20,typenameT21,typenameT22,typenameT23,typenameT24,typenameT25,typenameT26,typenameT27,typenameT28,typenameT29,typenameT30,typenameT31,typenameT32,typenameT33,typenameT34,typenameT35,typenameT36,typenameT37,typenameT38,typenameT39,typenameT40,typenameT41,typenameT42,typenameT43,typenameT44,typenameT45,typenameT46,typenameT47,typenameT48>structvector_n_chooser<T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22,T23,T24,T25,T26,T27,T28,T29,T30,T31,T32,T33,T34,T35,T36,T37,T38,T39,T40,T41,T42,T43,T44,T45,T46,T47,T48,void_>{typedefvector49<T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22,T23,T24,T25,T26,T27,T28,T29,T30,T31,T32,T33,T34,T35,T36,T37,T38,T39,T40,T41,T42,T43,T44,T45,T46,T47,T48>type;};}}}