#include <array>
#include <string>
template<size_t N>
struct constant_integer
{
enum { size = N };
};
template<size_t N, typename T>
constant_integer<N> array_size( const std::array<T, N>& );
int main(void)
{
std::array<std::string, 42> a1;
std::array<int, decltype(array_size(a1))::size> a2;
}
I2luY2x1ZGUgPGFycmF5PgojaW5jbHVkZSA8c3RyaW5nPgoKdGVtcGxhdGU8c2l6ZV90IE4+CnN0cnVjdCBjb25zdGFudF9pbnRlZ2VyCnsKICAgIGVudW0geyBzaXplID0gTiB9Owp9OwoKdGVtcGxhdGU8c2l6ZV90IE4sIHR5cGVuYW1lIFQ+CmNvbnN0YW50X2ludGVnZXI8Tj4gYXJyYXlfc2l6ZSggY29uc3Qgc3RkOjphcnJheTxULCBOPiYgKTsKCmludCBtYWluKHZvaWQpCnsKICAgIHN0ZDo6YXJyYXk8c3RkOjpzdHJpbmcsIDQyPiBhMTsKICAgIHN0ZDo6YXJyYXk8aW50LCBkZWNsdHlwZShhcnJheV9zaXplKGExKSk6OnNpemU+IGEyOwp9Cg==