public string Decrypt(string text)
        {
            int             countOfCharsInOriginalText = 0;
            SuffixAutomaton automaton = new SuffixAutomaton(text);

            double[] numbersFrequency = new double[COUNT_OF_TWO_DIGIT_NUMBERS];
            for (int i = 0; i < COUNT_OF_TWO_DIGIT_NUMBERS; i++)
            {
                numbersFrequency[i]         = automaton.CountSubstringOccurences((i + 10).ToString());
                countOfCharsInOriginalText += (int)numbersFrequency[i];
            }
            for (int i = 0; i < COUNT_OF_TWO_DIGIT_NUMBERS; i++)
            {
                numbersFrequency[i] /= countOfCharsInOriginalText;
                if (numbersFrequency[i] > 0)
                {
                }
            }
        }
        public bool IsPlainText(string text)
        {
            FillProhibitedCombinationsArray();
            SuffixAutomaton automaton = new SuffixAutomaton(text);

            if (automaton.IsBuilted)
            {
                for (int i = 0; i < _prohibitedCombinations.Length; i++)
                {
                    if (automaton.CountSubstringOccurences(_prohibitedCombinations[i]) != 0)
                    {
                        return(false);
                    }
                }
            }
            else
            {
                throw new Exception("Автомат не был построен");
            }
            return(true);
        }