let f o v = String([|for i=(56-(o*8)) downto (56-(o*8)-7)do yield if(if i>32 then((v>>>30)&&&(1L<<<(i-31)))<>0Lelse(v&&&(1L<<< i-1))<>0L)then '#'else' '|])
printfn "%s"(List.fold(fun a e-> a+(Array.fold(fun b v->b+(f e ([0x38448282824438L;0x1030501010107CL;0x7C82027C8080FEL;0x7C82027C02827CL;0x80848484FE0404L;0xFE8080FC02827CL;0x7C8280FC82827CL;0xFE840810202020L;0x7C82827C82827CL;0x7C82827E02827CL].[(int v -int'0')])))""(s.ToCharArray()))+"\n")""[0..6])