#include <iostream>
using namespace std;
template <typename T>
const T* make_const(T *ptr) {
return ptr;
}
#define const_this make_const(this)
struct MyQuestion
{
void fun()
{ cout<<"a"; }
void fun()const
{ cout<<"b"; }
void call()
{
const_this->fun(); // calls fun() const
fun(); // calls fun()
}
};
int main() {
MyQuestion q;
q.call();
}
I2luY2x1ZGUgPGlvc3RyZWFtPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKdGVtcGxhdGUgPHR5cGVuYW1lIFQ+CmNvbnN0IFQqIG1ha2VfY29uc3QoVCAqcHRyKSB7CiAgICByZXR1cm4gcHRyOwp9CgojZGVmaW5lIGNvbnN0X3RoaXMgbWFrZV9jb25zdCh0aGlzKQoKc3RydWN0IE15UXVlc3Rpb24KewoJdm9pZCBmdW4oKQoJeyBjb3V0PDwiYSI7IH0KCQoJdm9pZCBmdW4oKWNvbnN0Cgl7IGNvdXQ8PCJiIjsgfQoKCXZvaWQgY2FsbCgpCgl7CgkgICAgY29uc3RfdGhpcy0+ZnVuKCk7ICAgLy8gY2FsbHMgZnVuKCkgY29uc3QKCQoJICAgIGZ1bigpOyAgICAgICAgICAgICAgIC8vIGNhbGxzIGZ1bigpCgl9Cn07CgppbnQgbWFpbigpIHsKCU15UXVlc3Rpb24gcTsKCXEuY2FsbCgpOwp9