diff --git a/CHANGELOG.md b/CHANGELOG.md
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -37,3 +37,8 @@
 * Fourth version. Fixed issue with the documentation for the 'show7s5' function. Added some new library functions. Added the possibility to get some statistic metrics
 and to obtain a list of lists of Strings -- the information about how many and what actually Ukrainian sounds representations are needed to be created if every sound
 representation is unique.
+
+## 0.5.0.0 -- 2020-02-26
+
+* Fifth version. Added a function 'show7s9' and some descriptive statistics functions. For the first command line argument "-s" the program now prints some
+descriptive statistics metrices for the given text.
diff --git a/MMSyn7s.hs b/MMSyn7s.hs
--- a/MMSyn7s.hs
+++ b/MMSyn7s.hs
@@ -26,13 +26,20 @@
   , show7s6
   , show7s7
   , show7s8
+  , show7s9
   -- *** Inner predicate (auxiliary)
   , eqSnds
   -- *** Inner backward conversion function
   , listToString
-  -- *** Some statistic metrics
+  -- * Some descriptive statistics metrics
   , countSnds
   , sndsDensity
+  , uniquenessPeriods
+  , uniqMax
+  , uniqMin
+  , uniqPeriodsMean
+  , uniqPeriodsDispersion
+  , uniqStdQDeviation
 ) where
 
 import Data.Char (isSpace)
@@ -50,8 +57,7 @@
 -- 
 -- \"-v\" -- prints version number and exits;
 --
--- \"-s\" -- prints a ratio of the total number of the Ukrainian sounds representations needed if every one is used just once 
--- (except silent) to the total number of the represenations if they are the same no matter where the corresponding sound is located;
+-- \"-s\" -- prints some general descriptive statistics metrices for the given text; 
 -- 
 -- \"1\"  -- prints the list of String being unique (without silence) and then the rest of the text with whitespaces and some phonetical conversions;
 -- 
@@ -75,17 +81,16 @@
                  ; putStrLn "SYNOPSYS: "
                  ; putStrLn "mmsyn7s -h      OR: "
                  ; putStrLn "mmsyn7s -v      OR: "
-                 ; putStrLn "mmsyn7s -s      OR: "
+                 ; putStrLn "mmsyn7s -s {Ukrainian text}     OR: "
                  ; putStrLn "mmsyn7s 1 {Ukrainian text}     OR: "
                  ; putStrLn "mmsyn7s -1 {Ukrainian text}     OR: "
                  ; putStrLn "mmsyn7s 0 {Ukrainian text}     OR: "
                  ; putStrLn "mmsyn7s {Ukrainian text}"
                  ; putStrLn "where the first one prints this help message; "
                  ; putStrLn "      the second one prints a version number; "
-                 ; putStr "      the third one prints a ratio of the total number of the Ukrainian sounds representations needed if every one is used just once "
-                 ; putStrLn "(except silent) to the total number of the represenations if they are the same no matter where the corresponding sound is located; "
-                 ; putStrLn "      the \"1\" option prints the list of String being unique (without silence)"
-                 ; putStr   "      the \"-1\" option prints the rest of the text after the first duplicated sound representation (except silent ones) "
+                 ; putStrLn "      the third one prints some general descriptive statistics metrices for the given text; "
+                 ; putStrLn "      the \"1\" option prints the list of String being unique (without silence);"
+                 ; putStr   "      the \"-1\" option prints the rest of the text after the first duplicated sound representation (except silent ones); "
                  ; putStrLn "including it with whitespaces and some phonetical conversions; "
                  ; putStrLn "      the \"0\" option prints the list of String for the whole text; "
                  ; putStrLn "      the \"2\" option prints the list of String for the whole text where every sound representation is unique; "
@@ -93,8 +98,18 @@
                  ; putStrLn "created if every sound is unique; "
                  ; putStrLn "      the other beginning is equivalent to the previous one behaviour."
                   }
-      "-v" -> putStrLn "mmsyn7s: version 0.4.0.0"
-      "-s" -> putStrLn . show . sndsDensity . unwords . drop 1 $ texts
+      "-v" -> putStrLn "mmsyn7s: version 0.5.0.0"
+      "-s" -> let ys = unwords . drop 1 $ texts in
+                do { putStrLn $ "Possibly unique sounds representations density:   " ++ (show . sndsDensity $ ys)
+                   ; putStrLn $ "Number of sounds representation that are enough to cover the text:   " ++ (show . countSnds . show7s6 $ ys)
+                   ; putStrLn $ "Possibly unique sounds representations density:   " ++ (show . sndsDensity $ ys)
+                   ; putStrLn $ "Uniqueness periods:   " ++ (show . uniquenessPeriods $ ys)
+                   ; putStrLn $ "Mean for uniqueness periods list:   " ++ (show . uniqPeriodsMean $ ys)
+                   ; putStrLn $ "Dispersion for uniqueness periods list:   " ++ (show . uniqPeriodsDispersion $ ys)
+                   ; putStrLn $ "Standard quadratic deviation for uniqueness periods list:   " ++ (show . uniqStdQDeviation $ ys)
+                   ; putStrLn $ "The maximum element in the uniqueness periods list:   " ++ (show . uniqMax $ ys)
+                   ; putStrLn $ "The minimum element in the uniqueness periods list:   " ++ (show . uniqMin $ ys)
+                   }
       "1"  -> putStrLn . show . fst . show7s5 . unwords . drop 1 $ texts
       "-1" -> putStrLn . snd . show7s5 . unwords . drop 1 $ texts
       "0"  -> putStrLn . show7s2 . unwords . drop 1 $ texts
@@ -214,3 +229,54 @@
 show7s8 :: String -> [String]
 show7s8 t@(_:_) = (fst . show7s7 $ t):(show7s8 . snd . show7s7 $ t)
 show7s8 _ = []
+
+-- | Function 'show7s9' takes a Ukrainian text being a @String@ and returns a list of Strings. Each String is a Ukrainian sound representation of the duplicated 
+-- non-silent sounds, it begins a new second list of Strings in the 'show7s4' function. This information can be helpful e. g. in music and composing.
+show7s9 :: String -> [String]
+show7s9 xs@(_:_) = (if not . null . snd . show7s4 $ xs then head . snd . show7s4 $ xs else []):(show7s9 . snd . show7s5 $ xs)
+show7s9 _ = []
+
+-- | Function 'uniquenessPeriods' takes a Ukrainian text being a @String@ and returns a list of Ints. Each Int value is a number of 
+-- the Ukrainian sounds representations (non-silent ones) being unique and not duplicated alongside the given text starting from the beginning to the end.
+-- This function provides some important information about the phonetical and in some cases semantical structures of the text.
+uniquenessPeriods :: String -> [Int]
+uniquenessPeriods xs | not . null . filter (not . isSpace) $ xs = map length . show7s6 $ xs
+                     | otherwise = [0::Int]
+
+-- | Function 'uniqPeriodsMean' is a mathematical expectation for the list obtained by 'uniquenessPeriods' function. It is a statistic metrics.
+-- It is a mean for the quantities of the unique (not duplicated, not repeated) Ukrainian sounds in the given Ukrainian text as a @String@.
+-- If there are no Ukrainian letters in the text, it is equal to 0.0. The greater it is, the more diverse (phonetically) is the text.
+uniqPeriodsMean :: String -> Double
+uniqPeriodsMean xs | not . null . filter (not . isSpace) $ xs = let ys = uniquenessPeriods xs in (fromIntegral . sum $ ys) / (fromIntegral . length $ ys)
+                   | otherwise = 0.0
+
+-- | Function 'uniqPeriodsDispersion' is a dispersion for the list obtained by 'uniquenessPeriods' function. It is a statistic metrics.
+-- It is a dispersion for the quantities of the unique (not duplicated, not repeated) Ukrainian sounds in the given Ukrainian text as a @String@.
+-- If there are no Ukrainian letters in the text, it is equal to 0.0. The greater it is, the more suitable for changing pronunciation for the sounds 
+-- (and may be for intonation changes, too) the text is.
+uniqPeriodsDispersion :: String -> Double
+uniqPeriodsDispersion xs | not . null . filter (not . isSpace) $ xs =
+  let ys = uniquenessPeriods xs
+      z  = uniqPeriodsMean xs
+      l  = length ys in
+        (sum . map (\t -> (fromIntegral t - z) * (fromIntegral t - z)) $ ys) / fromIntegral l
+                         | otherwise = 0.0
+
+-- | Function 'uniqStdQDeviation' is a standard quadratic deviation for the list obtained by 'uniquenessPeriods' function. It is a statistic metrics.
+-- It is a standard quadratic deviation for the quantities of the unique (not duplicated, not repeated) Ukrainian sounds in the given Ukrainian text as a @String@.
+-- If there are no Ukrainian letters in the text, it is equal to 0.0. The greater it is, the more suitable for changing pronunciation for the sounds
+-- (and may be for intonation changes, too) the text is.
+uniqStdQDeviation :: String -> Double
+uniqStdQDeviation xs = sqrt . uniqPeriodsDispersion $ xs
+
+-- | Function 'uniqMax' is a maximum element in the 'uniquenessPeriods' function for the same argument. It is provided as a standard element for the
+-- descriptive statistics.
+uniqMax :: String -> Int
+uniqMax xs | not . null . filter (not . isSpace) $ xs = maximum . uniquenessPeriods $ xs
+           | otherwise = 0::Int
+
+-- | Function 'uniqMin' is a minimum element in the 'uniquenessPeriods' function for the same argument. It is provided as a standard element for the
+-- descriptive statistics.
+uniqMin :: String -> Int
+uniqMin xs | not . null . filter (not . isSpace) $ xs = minimum . uniquenessPeriods $ xs
+           | otherwise = 0::Int
diff --git a/README.markdown b/README.markdown
--- a/README.markdown
+++ b/README.markdown
@@ -11,10 +11,7 @@
 
 "-h" -- prints help and exits;
 
-"-s" -- prints a ratio of the total number of the Ukrainian sounds
-representations needed if every one is used just once (except silent)
-to the total number of the represenations if they are the same no matter
-where the corresponding sound is located;
+"-s" -- prints some general descriptive statistics metrices for the given text; 
 
 "-v" -- prints version number and exits;
 
diff --git a/mmsyn7s.cabal b/mmsyn7s.cabal
--- a/mmsyn7s.cabal
+++ b/mmsyn7s.cabal
@@ -2,7 +2,7 @@
 -- documentation, see http://haskell.org/cabal/users-guide/
 
 name:                mmsyn7s
-version:             0.4.0.0
+version:             0.5.0.0
 synopsis:            Shows a sorted list of the Ukrainian sounds representations that can be used by mmsyn7 series of programs
 description:         A program and a library that show a sorted list of the Ukrainian sounds representations that can be used by mmsyn7 series of programs
 homepage:            https://hackage.haskell.org/package/mmsyn7s
