#include <stdio.h>
#define PUT_ADDR(p, val) (*(void **)(p) = (void *) (val))
#define GET_ADDR(bp) (*(void **) (bp))
int main(void) {
int a = 3;
void *p = &a;
void *q;
PUT_ADDR(q, p);
printf("%d", * (int *) GET_ADDR
(q
)); return 0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CgojZGVmaW5lIFBVVF9BRERSKHAsIHZhbCkgKCoodm9pZCAqKikocCkgPSAodm9pZCAqKSAodmFsKSkKI2RlZmluZSBHRVRfQUREUihicCkgICgqKHZvaWQgKiopIChicCkpCgppbnQgbWFpbih2b2lkKSB7CglpbnQgYSA9IDM7Cgl2b2lkICpwID0gJmE7Cgl2b2lkICpxOwoJUFVUX0FERFIocSwgcCk7CglwcmludGYoIiVkIiwgKiAoaW50ICopIEdFVF9BRERSKHEpKTsKCXJldHVybiAwOwp9Cg==