/H 0.125 def
/MH 0.125 neg def

/North 0 def /South 1 def /East 2 def /West 3 def

/ar [{0 H rlineto} {0 MH rlineto} {H 0 rlineto} {MH 0 rlineto}] def

/Move
{
        ar exch get exec
} def

/Hilbert
{
        6 dict begin
                /i exch def
                /U exch def /L exch def /D exch def /R exch def
                /j i 1 sub def
                i 0 gt {
                        D R U L j Hilbert R Move
                        R D L U j Hilbert D Move
                        R D L U j Hilbert L Move
                        U L D R j Hilbert
                } if
        end
} def

/main
{
        /t exch def
        50 50 translate
        200 200 scale
        0.05 setlinewidth
        newpath
        1 MH add 4 moveto 1 4 lineto
        East South West North t Hilbert
        MH 0 rlineto closepath gsave
} def

/e {erasepage initgraphics} def

/g {grestore gsave} def
