#include <iostream>
struct S {
int f() { return 2; }
int g() { return 3; }
};
int main() {
int (S::*pmf)(){&S::f};
S s;
int a = 0;
a += (s.*pmf)();
pmf = &S::g;
a += (s.*pmf)();
std::cout << a << '\n';
}
I2luY2x1ZGUgPGlvc3RyZWFtPgoKc3RydWN0IFMgewoJaW50IGYoKSB7IHJldHVybiAyOyB9CglpbnQgZygpIHsgcmV0dXJuIDM7IH0KfTsKCmludCBtYWluKCkgewoJaW50IChTOjoqcG1mKSgpeyZTOjpmfTsKCglTIHM7CgoJaW50IGEgPSAwOwoJYSArPSAocy4qcG1mKSgpOwoJcG1mID0gJlM6Omc7CglhICs9IChzLipwbWYpKCk7CgkKCXN0ZDo6Y291dCA8PCBhIDw8ICdcbic7Cn0=