#include <stdlib.h>
#include <string.h>
#pragma clang diagnostic ignored "-Wreturn-type"
#pragma clang diagnostic ignored "-Wc23-extensions"
#pragma clang diagnostic ignored "-Wnull-character"
#pragma clang diagnostic ignored "-Wimplicit-int"
#pragma clang diagnostic ignored "-Wparentheses"
#pragma clang diagnostic ignored "-Wempty-body"

// NOTE: the assembler here is different in the way that it does NOT have spaces between its
// characters.
// NOTE 2: If you want the CPU to crash when there is an illegal instruction, replace the useless "4" in the code with "__builtin_trap()".
// clang-format off
#define S 65536
#define H !--c?
#define W case
#define Q goto M;
#define J while
#define N char
m[S],c,a,K;pu(){J(c=m[m[7]++])H*m=m[m[7]++]:c--<9?!a?m[c]=*m:0:8>(c-=8)?*m=m[c]:!(c-=8)?m[m[1]]=*m:H*m=a:H a+=*m:H a-=*m:H a=!a:H a=0:4;}N R[]="hlt ar1ar2ar3ar4ar5ar6ar7ar8	r1a\xAr2ar3ar4a\xDr5ar6ar7ar8amemacaaddsubnotclr ";N*Y[1<<9];void*as(N*I,int*O){N*V;J(K=*I){V=R;switch(K){W 32:W 10:W 9:I++;Q;W 35:J(*++I!=10);Q W 40:I++;K=strtol(I,&I,10);Y[K]=I;J(*I++!=41);Q W 41:return O;W 64:O=as(Y[strtol(++I,&I,10)],O);if((long)O<0)return O;Q W 39:*O++=1;I++;*O++=*I++;Q}strncmp("con",I,3)?:({*O++=1,*O++=strtol(I+=3,&I,10);Q});J(*V)V+=3,(strncmp(V-3,I,3)?:({*O++=*V;I+=3;Q})),V++;return(N*)-(long)I;M:}return 0;}
// clang-format on

#undef S
#undef H
#undef J
#undef Q
#undef W
#undef N