main = do
  contents <- getContents
  putStrLn $ foldl' accumulateReversedNucleotideComplement [] contents
  
  where
    accumulateReversedNucleotideComplement = flip $ (:) . nucleotideComplement
main = do
  contents <- getContents
  putStrLn $ foldl' accumulateReversedNucleotideComplement [] contents
  
  where
    accumulateReversedNucleotideComplement = flip $ (:) . nucleotideComplement
main = do
  contents <- getContents
  putStrLn $ foldl' accumulateReversedNucleotideComplement [] contents
  
  where
    accumulateReversedNucleotideComplement = flip $ (:) . nucleotideComplement