diff --git a/CHANGELOG.md b/CHANGELOG.md
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -35,3 +35,8 @@
 
 * Third version revised B. Fixed issue with missing variant for procBothF function in the working program. Updated the dependency boundaries of
 the ukrainian-phonetics-basic.
+
+## 0.3.3.0 -- 2020-11-10
+
+* Third version revised C. Fixed issue with the reverse order of the output for the rewritePoemG executable.
+
diff --git a/Lines/Main.hs b/Lines/Main.hs
--- a/Lines/Main.hs
+++ b/Lines/Main.hs
@@ -33,6 +33,7 @@
 import Languages.UniquenessPeriods.Vector.AuxiliaryG
 import Data.Char (isDigit,isAlpha)
 import Languages.UniquenessPeriods.Vector.FuncRepRelatedG
+import Data.Monoid (mappend)
 
 -- | The function allows to rewrite the Ukrainian text in the file given as the first command line argument to a new file. In between, it is rewritten
 -- so that every last word on the lines is preserved at its position, and the rest of the line is rearranged using the specified other command line
@@ -102,7 +103,7 @@
 circle2 :: Coeffs2 -> VB.Vector (VB.Vector (VB.Vector Int)) -> String -> String -> [String] -> [String] -> [String]
 circle2 coeffs permsG1 xs choice yss xss
  | null xss = yss
- | otherwise = circle2 coeffs permsG1 (if null rs then [] else last rs) choice (ws:yss) tss
+ | otherwise = circle2 coeffs permsG1 (if null rs then [] else last rs) choice (yss `mappend` [ws]) tss
       where (!zss,!tss) = splitAt 1 xss
             !rs = words . concat $ zss
             !ws = if compare (length rs) 3 == LT then unwords (xs:rs) else VB.toList . lastFrom3 . headU2 . fst . get22 .
@@ -112,7 +113,7 @@
 circle2I :: Coeffs2 -> VB.Vector (VB.Vector (VB.Vector Int)) -> VB.Vector Char -> String -> String -> [String] -> Int -> VB.Vector Int -> Float -> Float -> [String] -> [String]
 circle2I coeffs permsG1 whspss xs choice yss numberI vI minE maxE xss
  | null xss = yss
- | otherwise = circle2I coeffs permsG1 whspss (if null rs then [] else last rs) choice (ws:yss) numberI vI minE1 maxE1 tss
+ | otherwise = circle2I coeffs permsG1 whspss (if null rs then [] else last rs) choice (yss `mappend` [ws]) numberI vI minE1 maxE1 tss
       where (!zss,!tss) = splitAt 1 xss
             !w2s = words . concat . take 1 $ tss
             !l3 = (subtract 3) . length $ w2s
diff --git a/phonetic-languages-examples.cabal b/phonetic-languages-examples.cabal
--- a/phonetic-languages-examples.cabal
+++ b/phonetic-languages-examples.cabal
@@ -2,7 +2,7 @@
 -- further documentation, see http://haskell.org/cabal/users-guide/
 
 name:                phonetic-languages-examples
-version:             0.3.2.0
+version:             0.3.3.0
 synopsis:            A generalization of the uniqueness-periods-vector-examples functionality.
 description:         Is intended to use more functionality of the Data.Vector, Data.Foldable, Data.Monoid and Data.SubG modules.
 homepage:            https://hackage.haskell.org/package/phonetic-languages-examples
