import Control.Applicative
(=&) = poke
infixr 1 *=
(*=) a b = poke a =<< b
(*) = peek
char _ = 0
infixr 0 //
(%) f = malloc >>= (>>) <$> f 'A' <*> free
main = int_main ()
------------------------------------------------------
{-#include<stdio.h>-}
int_main () = (%) $ \c p -> do
{
char c =. 'A';
char* p // "ポインタ変数の宣言";
p =& c // "変数(c) の番地を設定";
printf("%c\n", (*)p) // "ポインタ変数から文字表示";
p *= (*)p + 2 // "ポインタ変数から値を変更";
printf("%c\n", (*)p) // "ポインタ変数から文字表示";
}
aW1wb3J0IENvbnRyb2wuQXBwbGljYXRpdmUKaW1wb3J0IENvbnRyb2wuTW9uYWQKaW1wb3J0IEZvcmVpZ24KaW1wb3J0IFByZWx1ZGUgaGlkaW5nICgoKiksICgrKSkKCig9JikgPSBwb2tlCmluZml4ciAxICo9CigqPSkgYSBiID0gcG9rZSBhID08PCBiCigrKSBjIGkgPSBmb2xkciAoLikgaWQgKHJlcGxpY2F0ZSBpIHN1Y2MpIDwkPiBjCigqKSA9IHBlZWsKcHJpbnRmID0gc25kID49PiBwdXRTdHJMbiAuICg6W10pCig9LikgXyBfID0gcmV0dXJuICgpCmNoYXIgXyA9IDAKaW5maXhyIDAgLy8KKC8vKSBmIF8gPSBmID4+IHJldHVybiAoKQoo77yKKSBfIF8gPSByZXR1cm4gKCkKKCUpIGYgPSBtYWxsb2MgPj49ICg+PikgPCQ+IGYgJ0EnIDwqPiBmcmVlCm1haW4gPSBpbnRfbWFpbiAoKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCnstI2luY2x1ZGU8c3RkaW8uaD4tfQoKaW50X21haW4gKCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPSAoJSkgJCBcYyBwIC0+IGRvCnsKICAgIGNoYXIgYyA9LiAnQSc7CiAgICBjaGFy77yKIHAgICAgICAgICAgICAgICAvLyAi44Od44Kk44Oz44K/5aSJ5pWw44Gu5a6j6KiAIjsKICAgIHAgPSYgYyAgICAgICAgICAgICAgICAgLy8gIuWkieaVsChjKSDjga7nlarlnLDjgpLoqK3lrpoiOwogICAgcHJpbnRmKCIlY1xuIiwgKCopcCkgICAvLyAi44Od44Kk44Oz44K/5aSJ5pWw44GL44KJ5paH5a2X6KGo56S6IjsKICAgIHAgKj0gKCopcCArIDIgICAgICAgICAgLy8gIuODneOCpOODs+OCv+WkieaVsOOBi+OCieWApOOCkuWkieabtCI7CiAgICBwcmludGYoIiVjXG4iLCAoKilwKSAgIC8vICLjg53jgqTjg7Pjgr/lpInmlbDjgYvjgonmloflrZfooajnpLoiOwogICAgcmV0dXJuIDA7Cn0K