struct A {
virtual ~A() {}
virtual void foo()=0;
};
struct B {
virtual ~B() {}
virtual void foo()=0;
};
struct C {
virtual ~C() {}
virtual void foo() {throw 7;}
};
int main() {
C c;
c.foo();
}
c3RydWN0IEEgewogICAgdmlydHVhbCB+QSgpIHt9CiAgICB2aXJ0dWFsIHZvaWQgZm9vKCk9MDsKfTsKCnN0cnVjdCBCIHsKICAgIHZpcnR1YWwgfkIoKSB7fQogICAgdmlydHVhbCB2b2lkIGZvbygpPTA7Cn07CgpzdHJ1Y3QgQyB7CiAgICB2aXJ0dWFsIH5DKCkge30KICAgIHZpcnR1YWwgdm9pZCBmb28oKSB7dGhyb3cgNzt9Cn07CgppbnQgbWFpbigpIHsKICAgIEMgYzsgCiAgICBjLmZvbygpOwp9