(use gauche.array)(use srfi-1)(use srfi-11)(let()#0=(#1=display"-----------------")(port-map(rec(_ l)(let*((n(string->number l))(a(cdr(assv n'((10 h 59 195)(9 h a)(8 f 76 178)(7 f 76)(6 f)(5 d a)(4 d)(3 b a)(2 b)(1 a)))))(o(make-array(shape 0 17 0 15))))(map(rec(f n)(if(real? n)(let-values[[[y x](quotient&remainder n 17)]](map(rec(_ z)(let((x(+ x(car z)))(y(+ y(cadr z))))(array-set! o x y #f)))'((0 -1)(-1 0)(0 0)(1 0)(0 1))))(map f(cdr(assv n'((a 127)(b 25 229)(d 19 31 223 235)(f d 121 133)(h d 87 99 155 167)))))))a)(map(rec(_ y)(#1#" ")(map(rec(_ x)(if(array-ref o x y)(#1#" ")(#1#"*")))(iota 17)))(iota 15)))(#1#" ")#0#)read-line))