import Control.Applicative main :: IO () main = solve <$> f >>= mapM_ print where f = map read <$> words <$> getLine solve :: [Int] -> [Int] solve [a, n] = [998244353, modPow a n 998244353] modPow :: Int -> Int -> Int -> Int modPow a n m | n == 0 = 1 | even n = x2 | otherwise = (x2 * a) `mod` m where x = modPow a (n `div` 2) m x2 = (x * x) `mod` m