hi
a friend of mine gave me this code to explain it to him
but i can't read it too even with knowing the output
it would be nice if someone could explain me this code

for(char *c="89?9;?8>8::<89@8?<8;:9<<89@8?>8>8::<9<>8?<8;:9 <<8A?9;?8>89<<",i=0;i<=57;i+=3,(i%(*c&1<<3| ~~1 <<2))?*c<<2&i>>1|*c*2: putchar(10)) for( int n=7;n>=0;n--)((*(c+i)-56)*100+((*(c+i+1))-56)*10+(*(c+i+2)-56))&(1<<n)?putchar('@'):putchar(' ');
big thx in advance