import qualified Data.List as L main :: IO () main = do n <- getLine putStrLn . show . gcd' $ map read .L.permutations $ n gcd' :: [Integer] -> Integer gcd' (s:ss) = gcd'' s ss gcd'' :: Integer -> [Integer] -> Integer gcd'' 1 _ = 1 gcd'' a [] = a gcd'' a (s:ss) = gcd'' (gcd a s) ss