#include <cstdio>
class ham;
typedef void (ham::*fn)();
class ham {
public:
fn get_fn() { return &ham::egg; }
private:
void egg() { puts("hello world"); }
};
int main() {
ham a;
fn b = a.get_fn();
(a.*b)();
}
I2luY2x1ZGUgPGNzdGRpbz4KCmNsYXNzIGhhbTsKdHlwZWRlZiB2b2lkIChoYW06OipmbikoKTsKCmNsYXNzIGhhbSB7CnB1YmxpYzoKICAgIGZuIGdldF9mbigpIHsgcmV0dXJuICZoYW06OmVnZzsgfQpwcml2YXRlOgogICAgdm9pZCBlZ2coKSB7IHB1dHMoImhlbGxvIHdvcmxkIik7IH0KfTsKCmludCBtYWluKCkgewogICAgaGFtIGE7CiAgICBmbiBiID0gYS5nZXRfZm4oKTsKICAgIChhLipiKSgpOwp9