// numberofマクロの置き換え
template<typename T, std::size_t N> inline std::size_t numberof(T (&)[N]) {return N;}