recursive subroutine print_shinsu( num, base )
integer, intent(in) :: num, base

integer :: m

if ( num == 0 ) return
m = mod( num, base )
call print_shinsu( int( num / base ), base )
write(*,'(i1)') m
return

end subroutine