import Control.Applicative ((<$>), (<*>)) main :: IO () main = solve <$> f <*> f >>= print where f = map read <$> words <$> getLine solve :: [Int] -> [Int] -> Int solve [x, _] = flip mod m . sum . map (expt x) where m = 1000003 expt :: Int -> Int -> Int expt x a | a == 0 = 1 | a == 1 = x | even a = he * he `mod` m | otherwise = he * he `mod` m * x `mod` m where he = expt x (a `div` 2) m = 1000003