#include <iostream>
using namespace std;
template<template<class, class...> class C, class T, class... OtherTs>
size_t A_helper_printSize(C<T, OtherTs...>&&) { return sizeof(T); }
template <class T>
struct A {
void printSize() const { cout << A_helper_printSize(T{}); }
};
template <typename A>
struct X{
};
int main() {
A<X<char>>{}.printSize();
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKdGVtcGxhdGU8dGVtcGxhdGU8Y2xhc3MsIGNsYXNzLi4uPiBjbGFzcyBDLCBjbGFzcyBULCBjbGFzcy4uLiBPdGhlclRzPgpzaXplX3QgQV9oZWxwZXJfcHJpbnRTaXplKEM8VCwgT3RoZXJUcy4uLj4mJikgeyByZXR1cm4gc2l6ZW9mKFQpOyB9Cgp0ZW1wbGF0ZSA8Y2xhc3MgVD4Kc3RydWN0IEEgewoJdm9pZCBwcmludFNpemUoKSBjb25zdCB7IGNvdXQgPDwgQV9oZWxwZXJfcHJpbnRTaXplKFR7fSk7IH0KfTsKCnRlbXBsYXRlIDx0eXBlbmFtZSBBPgpzdHJ1Y3QgWHsKfTsKCmludCBtYWluKCkgewoJQTxYPGNoYXI+Pnt9LnByaW50U2l6ZSgpOwoJcmV0dXJuIDA7Cn0=