static void Main(string[] args)
        {
            int  k    = -1;
            bool exit = true;

            Console.WriteLine("Опцiї:" +
                              "\nAvto Run - 99;" +
                              "\nВихiд - 0;" +
                              "\nTask1: Периметер i площа прямокутника - 1;" +
                              "\nTask2: Периметер i площа прямокутника - 2;" +
                              "\nTask3: Довжина кола та проща круга - 3;" +
                              "\nTask4: Периметер i площа прямокутника - 41;" +
                              "\nTask4: Довжина кола та проща круга - 43;" +
                              "\nTask5: Комплексні числа - 5;\n" +
                              "" +
                              "\nTask1: Унаслiдування - 6;" +
                              "\nTask2: Унаслiдування - 7;" +
                              "\nTask3: Унаслiдування - 8;" +
                              "\nTask4: Унаслiдування - 9;" +
                              "" +
                              "\nTask1: П'ять персон - 10;" +
                              "\nTask2: + двi пересони - 11;" +
                              "\nTask3: Strings - 12;\n");
            while (exit)
            {
                try
                {
                    Console.WriteLine("\nВиберiть опцiю: ");
                    k = Convert.ToInt32(Console.ReadLine());
                    switch (k)
                    {
                    case 99:
                    {
                        AvtoRun.Run();
                        break;
                    }

                    case 0:
                    {
                        exit = false;
                        break;
                    }

                    case 1:
                    {
                        Console.WriteLine("Введiть координати лiвого верхнього кута: ");
                        double x = Convert.ToDouble(Console.ReadLine());
                        double y = Convert.ToDouble(Console.ReadLine());
                        Console.WriteLine("Введiть координати правого нижнього кута: ");
                        double          x1 = Convert.ToDouble(Console.ReadLine());
                        double          y1 = Convert.ToDouble(Console.ReadLine());
                        Task1_Rectangle TR = new Task1_Rectangle(x, y, x1, y1);
                        Console.WriteLine("Периметер прямокутника: " + TR.P());
                        Console.WriteLine("Площа прямокутника: " + TR.S());

                        break;
                    }

                    case 2:
                    {
                        Task2_Rectangle TR = new Task2_Rectangle();
                        Console.WriteLine("Введiть координати лiвого верхнього кута: ");
                        TR.x = Convert.ToDouble(Console.ReadLine());
                        TR.y = Convert.ToDouble(Console.ReadLine());
                        Console.WriteLine("Введiть координати правого нижнього кута: ");
                        TR.x1 = Convert.ToDouble(Console.ReadLine());
                        TR.y1 = Convert.ToDouble(Console.ReadLine());
                        TR.Run();
                        Console.WriteLine("Периметер прямокутника: " + TR.p);
                        Console.WriteLine("Площа прямокутника: " + TR.s);
                        break;
                    }

                    case 3:
                    {
                        Task3_Circle TR = new Task3_Circle();
                        Console.WriteLine("Введiть радiус кола: ");
                        double r = Convert.ToDouble(Console.ReadLine());
                        if (r <= 0)
                        {
                            Console.WriteLine("Коло/круг з '" + r + "' радiусом не iснує"); continue;
                        }
                        Console.WriteLine("Довжина кола: " + TR.C(r));
                        Console.WriteLine("Площа круга: " + TR.S(r));
                        break;
                    }

                    case 41:
                    {
                        Console.WriteLine("Введiть координати лiвого верхнього кута: ");
                        double x = Convert.ToDouble(Console.ReadLine());
                        double y = Convert.ToDouble(Console.ReadLine());
                        Console.WriteLine("Введiть координати правого нижнього кута: ");
                        double x1 = Convert.ToDouble(Console.ReadLine());
                        double y1 = Convert.ToDouble(Console.ReadLine());
                        Console.WriteLine("Периметер прямокутника: " + Task4_1_Rectangle.P(x, y, x1, y1));
                        Console.WriteLine("Площа прямокутника: " + Task4_1_Rectangle.S(x, y, x1, y1));
                        break;
                    }

                    case 43:
                    {
                        Console.WriteLine("Введiть радiус кола: ");
                        double r = Convert.ToDouble(Console.ReadLine());
                        if (r <= 0)
                        {
                            Console.WriteLine("Коло/круг з '" + r + "' радiусом не iснує"); continue;
                        }
                        Console.WriteLine("Довжина кола: " + Task4_3_Circle.C(r));
                        Console.WriteLine("Площа круга: " + Task4_3_Circle.S(r));
                        break;
                    }

                    case 5:
                    {
                        Console.WriteLine("Введiть комплексне число: ");
                        double r = Convert.ToDouble(Console.ReadLine());
                        double i = Convert.ToDouble(Console.ReadLine());
                        Task5_ComplexNumber a = new Task5_ComplexNumber(r, i);
                        Console.WriteLine("Введiть комплексне число: ");
                        r = Convert.ToDouble(Console.ReadLine());
                        i = Convert.ToDouble(Console.ReadLine());
                        Task5_ComplexNumber b = new Task5_ComplexNumber(r, i);
                        Task5_ComplexNumber c = a * b;
                        Task5_ComplexNumber d = a / b;
                        Console.WriteLine("(" + a.real + " + " + a.imaginary + "i) * (" + b.real + " + " + b.imaginary + "i) = (" + c.real + " + " + c.imaginary + "i)");
                        Console.WriteLine("(" + a.real + " + " + a.imaginary + "i) / (" + b.real + " + " + b.imaginary + "i) = (" + Math.Round(d.real, 2) + " + " + Math.Round(d.imaginary, 2) + "i)");
                        break;
                    }

                    case 6:
                    {
                        Epam_Two_Task1.Rectangle R = new Epam_Two_Task1.Rectangle();
                        R.Draw();
                        Epam_Two_Task1.Square S = new Epam_Two_Task1.Square();
                        S.Draw();
                        break;
                    }

                    case 7:
                    {
                        Epam_Two_Task2.Rectangle R = new Epam_Two_Task2.Rectangle(1, 2);
                        R.Draw();
                        Epam_Two_Task2.Square S = new Epam_Two_Task2.Square(1, 2);
                        S.Draw();
                        break;
                    }

                    case 8:
                    {
                        Epam_Two_Task3.Figure F = new Epam_Two_Task3.Figure(1, 2);
                        F.Draw();
                        Epam_Two_Task3.Rectangle R = new Epam_Two_Task3.Rectangle(1, 2);
                        R.Draw();
                        Epam_Two_Task3.Square S = new Epam_Two_Task3.Square(1, 2);
                        S.Draw();
                        break;
                    }

                    case 9:
                    {
                        Epam_Two_Task4.IDrawable[] ID = new Epam_Two_Task4.IDrawable[3];
                        ID[0] = new Epam_Two_Task4.Figure(1, 2);
                        ID[1] = new Epam_Two_Task4.Rectangle(1, 2);
                        ID[2] = new Epam_Two_Task4.Square(1, 2);
                        DrawAll(ID);
                        break;
                    }

                    case 10:
                    {
                        Persons Persons_ = new Persons();
                        Console.WriteLine(Persons_.PrintOutNameAge());
                        break;
                    }

                    case 11:
                    {
                        Persons Persons_ = new Persons();
                        Persons_.addTwo();
                        Console.WriteLine(Persons_.PrintOutPhoneNumber());
                        break;
                    }

                    case 12:
                    {
                        Console.WriteLine("Введiть кiлькiсть елементiв списку: ");
                        int N = Convert.ToInt32(Console.ReadLine());
                        Console.WriteLine("Введiть кiлькiсть знакiв в елементi: ");
                        int          n  = Convert.ToInt32(Console.ReadLine());
                        RandomString RS = new RandomString(N, n);
                        Console.WriteLine("Було створено :" + N + ";\nПiсля оптимiзацiї: " + RS.Clean() + ";");
                        while (true)
                        {
                            Console.WriteLine("Введiть сторiнку: ");
                            int pageNumber = Convert.ToInt32(Console.ReadLine());
                            Console.WriteLine(RS.DisplayPage(pageNumber));
                        }
                        break;
                    }

                    default: break;
                    }
                }
                catch (FormatException e)
                {
                    if (k == 12)
                    {
                        continue;
                    }
                    Console.WriteLine(e + "\n\nERROR:Введiть правильнi данi");
                }
            }
        }
        public static void Run()
        {
            /*             "\nВихiд - 0;" +
             * "\nTask1: Периметер i площа прямокутника - 1;" +
             * "\nTask2: Периметер i площа прямокутника - 2;" +
             * "\nTask3: Довжина кола та проща круга - 3;" +
             * "\nTask4: Периметер i площа прямокутника - 41;" +
             * "\nTask4: Довжина кола та проща круга - 43;" +
             * "\nTask5: Комплексні числа - 5;\n"+
             * ""+
             * "\nTask1: Унаслiдування - 6;"+
             * "\nTask2: Унаслiдування - 7;" +
             * "\nTask3: Унаслiдування - 8;" +
             * "\nTask3: Унаслiдування - 9;" +
             * "" +
             * "\nTask1: П'ять персон - 10;" +
             * "\nTask2: Унаслiдування - 11;" +
             * "\nTask3: Унаслiдування - 12;\n");*/

            Console.WriteLine("\nTask1(Лекцiя 1): ");

            double x = 10;
            double y = 1;

            Console.WriteLine("Координати лiвого верхнього кута: (" + x + ", " + y + ")");

            double x1 = 5;
            double y1 = -8;

            Console.WriteLine("Kоординати правого нижнього кута: (" + x1 + ", " + y1 + ")");
            Task1_Rectangle TR = new Task1_Rectangle(x, y, x1, y1);

            Console.WriteLine("Периметер прямокутника: " + TR.P());
            Console.WriteLine("Площа прямокутника: " + TR.S());

            Console.WriteLine("\nTask2(Лекцiя 1): ");

            Task2_Rectangle TR1 = new Task2_Rectangle();

            TR1.x = 5;
            TR1.y = 5;
            Console.WriteLine("Координати лiвого верхнього кута: (" + TR1.x + ", " + TR1.y + ")");
            Console.WriteLine("Введiть координати правого нижнього кута: ");
            TR1.x1 = -2;
            TR1.y1 = -3;
            Console.WriteLine("Kоординати правого нижнього кута: (" + TR1.x1 + ", " + TR1.y1 + ")");
            TR1.Run();
            Console.WriteLine("Периметер прямокутника: " + TR1.p);
            Console.WriteLine("Площа прямокутника: " + TR1.s);

            Console.WriteLine("\nTask3(Лекцiя 1): ");

            Task3_Circle TR2 = new Task3_Circle();

            double r = 5;

            Console.WriteLine("Pадiус кола: " + r);
            if (r <= 0)
            {
                Console.WriteLine("Коло/круг з '" + r + "' радiусом не iснує");
            }
            else
            {
                Console.WriteLine("Довжина кола: " + TR2.C(r));
                Console.WriteLine("Площа круга: " + TR2.S(r));
            }

            Console.WriteLine("\nTask4(Лекцiя 1): ");

            x = 10;
            y = 1;
            Console.WriteLine("Координати лiвого верхнього кута: (" + x + ", " + y + ")");

            x1 = 5;
            y1 = -8;
            Console.WriteLine("Kоординати правого нижнього кута: (" + x1 + ", " + y1 + ")");
            Console.WriteLine("Периметер прямокутника: " + Task4_1_Rectangle.P(x, y, x1, y1));
            Console.WriteLine("Площа прямокутника: " + Task4_1_Rectangle.S(x, y, x1, y1));

            r = 5;
            Console.WriteLine("Pадiус кола: " + r);
            if (r <= 0)
            {
                Console.WriteLine("Коло/круг з '" + r + "' радiусом не iснує");
            }
            else
            {
                Console.WriteLine("Довжина кола: " + Task4_3_Circle.C(r));
                Console.WriteLine("Площа круга: " + Task4_3_Circle.S(r));
            }

            Console.WriteLine("\nTask5(Лекцiя 1): ");

            r = 10;
            double i = 1;

            Console.WriteLine("Комплексне число: " + r + " + i" + i);
            Task5_ComplexNumber a = new Task5_ComplexNumber(r, i);

            r = 2;
            i = 3;
            Console.WriteLine("Комплексне число: " + r + " + i" + i);
            Task5_ComplexNumber b = new Task5_ComplexNumber(r, i);
            Task5_ComplexNumber c = a * b;
            Task5_ComplexNumber d = a / b;

            Console.WriteLine("(" + a.real + " + " + a.imaginary + "i) * (" + b.real + " + " + b.imaginary + "i) = (" + c.real + " + " + c.imaginary + "i)");
            Console.WriteLine("(" + a.real + " + " + a.imaginary + "i) / (" + b.real + " + " + b.imaginary + "i) = (" + Math.Round(d.real, 2) + " + " + Math.Round(d.imaginary, 2) + "i)");

            Console.WriteLine("\nTask1(Лекцiя 2): ");

            Epam_Two_Task1.Rectangle R = new Epam_Two_Task1.Rectangle();
            R.Draw();
            Epam_Two_Task1.Square S = new Epam_Two_Task1.Square();
            S.Draw();

            Console.WriteLine("\nTask2(Лекцiя 2): ");

            Epam_Two_Task2.Rectangle R1 = new Epam_Two_Task2.Rectangle(1, 2);
            R1.Draw();
            Epam_Two_Task2.Square S1 = new Epam_Two_Task2.Square(1, 2);
            S1.Draw();

            Console.WriteLine("\nTask3(Лекцiя 2): ");

            Epam_Two_Task3.Figure F = new Epam_Two_Task3.Figure(1, 2);
            F.Draw();
            Epam_Two_Task3.Rectangle R2 = new Epam_Two_Task3.Rectangle(1, 2);
            R2.Draw();
            Epam_Two_Task3.Square S2 = new Epam_Two_Task3.Square(1, 2);
            S2.Draw();

            Console.WriteLine("\nTask4(Лекцiя 2): ");

            Epam_Two_Task4.IDrawable[] ID = new Epam_Two_Task4.IDrawable[3];
            ID[0] = new Epam_Two_Task4.Figure(1, 2);
            ID[1] = new Epam_Two_Task4.Rectangle(1, 2);
            ID[2] = new Epam_Two_Task4.Square(1, 2);
            Program.DrawAll(ID);

            Console.WriteLine("\nTask1(Лекцiя 3): ");

            Persons Persons_ = new Persons();

            Console.WriteLine(Persons_.PrintOutNameAge());

            Console.WriteLine("\nTask2(Лекцiя 3): ");

            Persons Persons_1 = new Persons();

            Persons_1.addTwo();
            Console.WriteLine(Persons_1.PrintOutPhoneNumber());

            Console.WriteLine("\nTask3(Лекцiя 3): ");

            int N = 1000;

            Console.WriteLine("Kiлькiсть елементiв списку: " + N);
            int n = 4;

            Console.WriteLine("Kiлькiсть знакiв в елементi: " + n);
            RandomString RS = new RandomString(N, n);

            Console.WriteLine("Було створено :" + N + ";\nПiсля оптимiзацiї: " + RS.Clean() + ";");
            while (true)
            {
                int pageNumber = 3;
                Console.WriteLine("Cторiнка: " + pageNumber);

                Console.WriteLine(RS.DisplayPage(pageNumber));
                break;
            }
        }