Result

AC

Duration

1153ms

Code [DL]

import Data.List
import Control.Monad
main = do
 y<-i
 x<-i
 let u=[r x c] in putStr$intercalate "\n"$u++r (y-2) ([c]++r (x-2) ' '++[c])++u
 where
  i=liftM read getLine::IO Int
  c='*'
  r=replicate

stdin

18
58

stdout

**********************************************************
*                                                        *
*                                                        *
*                                                        *
*                                                        *
*                                                        *
*                                                        *
*                                                        *
*                                                        *
*                                                        *
*                                                        *
*                                                        *
*                                                        *
*                                                        *
*                                                        *
*                                                        *
*                                                        *
**********************************************************

stderr