import           Data.Char (chr)
import           Data.List (unfoldr)

readInt  = readLn :: IO Int

main :: IO ()
main = do
  n <- readInt
  putStrLn $ reverse $ map (chr . (+96)) $ solve n

-- unfoldr :: (b -> Maybe (a, b)) -> b -> [a]
solve :: Int -> [Int]
solve = unfoldr twoSix
  where
    twoSix k | k == 0    = Nothing
             | k `mod` 26 == 0 = Just (26, (k `div` 26) - 1 )
             | otherwise = Just (k `mod` 26, k `div` 26)