#include <iostream>
#include <vector>
class A {
public:
A() {};
A(const A &) = delete;
void push(int i) { data.push_back(i); }
void dump(void) { std::cout << data.size() << '\n'; }
private:
std::vector<int> data;
};
extern A master;
// A master();
class B {
public:
int val;
B(const B &) = delete;
B(int i) : val(i) {
master.push(i);
master.dump();
}
};
B o1(123);
A master;
B o2(456);
int main() {
master.dump();
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8dmVjdG9yPgoKCmNsYXNzIEEgewpwdWJsaWM6CiAgQSgpIHt9OwogIEEoY29uc3QgQSAmKSA9IGRlbGV0ZTsKICB2b2lkIHB1c2goaW50IGkpIHsgZGF0YS5wdXNoX2JhY2soaSk7IH0KICB2b2lkIGR1bXAodm9pZCkgeyBzdGQ6OmNvdXQgPDwgZGF0YS5zaXplKCkgPDwgJ1xuJzsgfQpwcml2YXRlOgogIHN0ZDo6dmVjdG9yPGludD4gZGF0YTsKfTsKCmV4dGVybiBBIG1hc3RlcjsKLy8gQSBtYXN0ZXIoKTsKCmNsYXNzIEIgewpwdWJsaWM6CiAgaW50IHZhbDsKICBCKGNvbnN0IEIgJikgPSBkZWxldGU7CiAgQihpbnQgaSkgOiB2YWwoaSkgewogIAltYXN0ZXIucHVzaChpKTsKICAJbWFzdGVyLmR1bXAoKTsKICB9Cn07CgpCIG8xKDEyMyk7CkEgbWFzdGVyOwpCIG8yKDQ1Nik7CgppbnQgbWFpbigpIHsKICBtYXN0ZXIuZHVtcCgpOwogIHJldHVybiAwOwp9