#include <iostream>
#include <string>
using namespace std;
extern void* enabler;
template <typename STR, std::enable_if_t<sizeof(decltype(typename std::remove_all_extents<STR>::type()[0])) == 1> *& = enabler>
void hoge(const STR&)
{
cout << "v1";
}
template <typename STR, std::enable_if_t<sizeof(decltype(typename std::remove_all_extents<STR>::type()[0])) != 1> *& = enabler>
void hoge(const STR&)
{
cout << "v2";
}
int main() {
std::string s;
hoge(s);
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8c3RyaW5nPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwpleHRlcm4gdm9pZCogZW5hYmxlcjsKCnRlbXBsYXRlIDx0eXBlbmFtZSBTVFIsIHN0ZDo6ZW5hYmxlX2lmX3Q8c2l6ZW9mKGRlY2x0eXBlKHR5cGVuYW1lIHN0ZDo6cmVtb3ZlX2FsbF9leHRlbnRzPFNUUj46OnR5cGUoKVswXSkpID09IDE+IComID0gZW5hYmxlcj4Kdm9pZCBob2dlKGNvbnN0IFNUUiYpCnsKY291dCA8PCAidjEiOwp9CgoKdGVtcGxhdGUgPHR5cGVuYW1lIFNUUiwgc3RkOjplbmFibGVfaWZfdDxzaXplb2YoZGVjbHR5cGUodHlwZW5hbWUgc3RkOjpyZW1vdmVfYWxsX2V4dGVudHM8U1RSPjo6dHlwZSgpWzBdKSkgIT0gMT4gKiYgPSBlbmFibGVyPgp2b2lkIGhvZ2UoY29uc3QgU1RSJikKewpjb3V0IDw8ICJ2MiI7Cn0KCmludCBtYWluKCkgewoJc3RkOjpzdHJpbmcgczsKCWhvZ2Uocyk7IAoJcmV0dXJuIDA7Cn0=