#include <iostream>
using namespace std;
template <class T>
struct A {
void printSize() const { cout << sizeof(typename T::value_type); }
};
template <typename A>
struct X{
using value_type = A;
};
int main() {
A<X<char>>{}.printSize();
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKdGVtcGxhdGUgPGNsYXNzIFQ+CnN0cnVjdCBBIHsKCXZvaWQgcHJpbnRTaXplKCkgY29uc3QgeyBjb3V0IDw8IHNpemVvZih0eXBlbmFtZSBUOjp2YWx1ZV90eXBlKTsgfQp9OwoKdGVtcGxhdGUgPHR5cGVuYW1lIEE+CnN0cnVjdCBYewoJdXNpbmcgdmFsdWVfdHlwZSA9IEE7Cn07CgppbnQgbWFpbigpIHsKCUE8WDxjaGFyPj57fS5wcmludFNpemUoKTsKCXJldHVybiAwOwp9