#include <iostream>
using namespace std;
class Outer {
public:
class Inner {
public:
void mutateOuter(Outer& o);
};
private:
int value;
};
void Outer::Inner::mutateOuter(Outer& o) {
o.value ++; // Legal? Or not?
}
int main() {
Outer zz;
Outer::Inner ww;
ww.mutateOuter(zz);
return 0;
}
ICAgICNpbmNsdWRlIDxpb3N0cmVhbT4KICAgIHVzaW5nIG5hbWVzcGFjZSBzdGQ7CiAgICAgCiAgICBjbGFzcyBPdXRlciB7CiAgICBwdWJsaWM6CiAgICBjbGFzcyBJbm5lciB7CiAgICBwdWJsaWM6CiAgICB2b2lkIG11dGF0ZU91dGVyKE91dGVyJiBvKTsKICAgIH07CiAgICAgCiAgICBwcml2YXRlOgogICAgaW50IHZhbHVlOwogICAgfTsKICAgICAKICAgIHZvaWQgT3V0ZXI6OklubmVyOjptdXRhdGVPdXRlcihPdXRlciYgbykgewogICAgby52YWx1ZSArKzsgLy8gTGVnYWw/IE9yIG5vdD8KICAgIH0KICAgICAKICAgIGludCBtYWluKCkgewogICAgT3V0ZXIgeno7CiAgICBPdXRlcjo6SW5uZXIgd3c7CiAgICB3dy5tdXRhdGVPdXRlcih6eik7CiAgICByZXR1cm4gMDsKICAgIH0=