class X {
private:
template <class T>
class Y {
public:
void f() {}
};
protected:
Y<int> m;
};
class Z : public virtual X {
public:
void f() {
m.f();
}
};
int main () {}
Y2xhc3MgWCB7CnByaXZhdGU6CiAgdGVtcGxhdGUgPGNsYXNzIFQ+CiAgY2xhc3MgWSB7CiAgICBwdWJsaWM6CiAgICB2b2lkIGYoKSB7fQogIH07CnByb3RlY3RlZDoKICBZPGludD4gbTsKfTsKCmNsYXNzIFogOiBwdWJsaWMgdmlydHVhbCBYIHsKcHVibGljOgogIHZvaWQgZigpIHsKICAgIG0uZigpOwogIH0KfTsKCmludCBtYWluICgpIHt9Cg==