#include <iostream>
template<class T>
class A
{
public:
template<class> friend class B;
explicit A(T x) : priv_(x) {}
private:
T priv_;
};
template<class T>
class B
{
public:
B() : a_(1) { std::cout << a_.priv_ << '\n'; }
private:
A<T> a_;
};
int main()
{
B<int> b;
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgoKdGVtcGxhdGU8Y2xhc3MgVD4KY2xhc3MgQQp7CnB1YmxpYzoKICB0ZW1wbGF0ZTxjbGFzcz4gZnJpZW5kIGNsYXNzIEI7CiAgCiAgZXhwbGljaXQgQShUIHgpIDogcHJpdl8oeCkge30KCnByaXZhdGU6CiAgVCBwcml2XzsKfTsKCnRlbXBsYXRlPGNsYXNzIFQ+CmNsYXNzIEIKewpwdWJsaWM6CiAgQigpIDogYV8oMSkgeyBzdGQ6OmNvdXQgPDwgYV8ucHJpdl8gPDwgJ1xuJzsgfQogIApwcml2YXRlOgogIEE8VD4gYV87Cn07CgppbnQgbWFpbigpCnsKICBCPGludD4gYjsKICByZXR1cm4gMDsKfQ==