public static void processImput(MathGraph mathGraph)
        {
            string userInput = Console.ReadLine();

            switch (userInput)
            {
            case "1":
            {
                mathGraph.AddVertex();
                Console.Clear();
                ShowBasicInterface(mathGraph);
                break;
            }

            case "2":
            {
                Console.WriteLine("Enter first vertex:");
                int firstVertex = -1;
                if (!int.TryParse(Console.ReadLine(), out firstVertex))
                {
                    Console.WriteLine("Wrong input \nPress any key");
                    Console.ReadKey();
                    Console.Clear();
                    ShowBasicInterface(mathGraph);
                    break;
                }
                Console.WriteLine("Enter second vertex:");
                int secondVertex = -1;
                if (!int.TryParse(Console.ReadLine(), out secondVertex))
                {
                    Console.WriteLine("Wrong input \nPress any key");
                    Console.ReadKey();
                    Console.Clear();
                    ShowBasicInterface(mathGraph);
                    break;
                }
                bool result = mathGraph.AddEdge(firstVertex, secondVertex);
                if (!result)
                {
                    Console.WriteLine("Edge was not created \nPress any key");
                    Console.ReadKey();
                    Console.Clear();
                    ShowBasicInterface(mathGraph);
                    break;
                }
                Console.WriteLine("Edge created \nPress any key");
                Console.ReadKey();
                Console.Clear();
                ShowBasicInterface(mathGraph);
                break;
            }

            case "3":
            {
                Console.WriteLine("Enter first vertex:");
                int firstVertex = -1;
                if (!int.TryParse(Console.ReadLine(), out firstVertex))
                {
                    Console.WriteLine("Wrong input \nPress any key");
                    Console.ReadKey();
                    Console.Clear();
                    ShowBasicInterface(mathGraph);
                    break;
                }
                Console.WriteLine("Enter second vertex:");
                int secondVertex = -1;
                if (!int.TryParse(Console.ReadLine(), out secondVertex))
                {
                    Console.WriteLine("Wrong input \nPress any key");
                    Console.ReadKey();
                    Console.Clear();
                    ShowBasicInterface(mathGraph);
                    break;
                }
                Console.WriteLine("Enter weight:");
                float weight = 0;
                if (!float.TryParse(Console.ReadLine(), NumberStyles.Any, CultureInfo.InvariantCulture, out weight))
                {
                    Console.WriteLine("Wrong input \nPress any key");
                    Console.ReadKey();
                    Console.Clear();
                    ShowBasicInterface(mathGraph);
                    break;
                }
                bool result = mathGraph.SetWeight(firstVertex, secondVertex, weight);
                if (!result)
                {
                    Console.WriteLine("Weight was not set \nPress any key");
                    Console.ReadKey();
                    Console.Clear();
                    ShowBasicInterface(mathGraph);
                    break;
                }
                Console.WriteLine("Weight was set \nPress any key");
                Console.ReadKey();
                Console.Clear();
                ShowBasicInterface(mathGraph);
                break;
            }

            case "4":
            {
                Console.WriteLine("Enter vertex:");
                int vertex = -1;
                if (!int.TryParse(Console.ReadLine(), out vertex))
                {
                    Console.WriteLine("Wrong input \nPress any key");
                    Console.ReadKey();
                    Console.Clear();
                    ShowBasicInterface(mathGraph);
                    break;
                }
                bool result = mathGraph.RemoveVertex(vertex);
                if (!result)
                {
                    Console.WriteLine("Vertex was not removed \nPress any key");
                    Console.ReadKey();
                    Console.Clear();
                    ShowBasicInterface(mathGraph);
                    break;
                }
                Console.WriteLine("Vertex was removed \nPress any key");
                Console.ReadKey();
                Console.Clear();
                ShowBasicInterface(mathGraph);
                break;
            }

            case "5":
            {
                Console.WriteLine("Enter first vertex:");
                int firstVertex = -1;
                if (!int.TryParse(Console.ReadLine(), out firstVertex))
                {
                    Console.WriteLine("Wrong input \nPress any key");
                    Console.ReadKey();
                    Console.Clear();
                    ShowBasicInterface(mathGraph);
                    break;
                }
                Console.WriteLine("Enter second vertex:");
                int secondVertex = -1;
                if (!int.TryParse(Console.ReadLine(), out secondVertex))
                {
                    Console.WriteLine("Wrong input \nPress any key");
                    Console.ReadKey();
                    Console.Clear();
                    ShowBasicInterface(mathGraph);
                    break;
                }
                bool result = mathGraph.RemoveEdge(firstVertex, secondVertex);
                if (!result)
                {
                    Console.WriteLine("Edge was not removed \nPress any key");
                    Console.ReadKey();
                    Console.Clear();
                    ShowBasicInterface(mathGraph);
                    break;
                }
                Console.WriteLine("Edge removed \nPress any key");
                Console.ReadKey();
                Console.Clear();
                ShowBasicInterface(mathGraph);
                break;
            }

            case "6":
            {
                Console.WriteLine("In graph " + mathGraph.CountVertex() + " vertex \nPress any key");
                Console.ReadKey();
                Console.Clear();
                ShowBasicInterface(mathGraph);
                break;
            }

            case "7":
            {
                Console.WriteLine("In graph " + mathGraph.CountEdges() + " edges \nPress any key");
                Console.ReadKey();
                Console.Clear();
                ShowBasicInterface(mathGraph);
                break;
            }

            case "8":
            {
                Console.WriteLine("Enter first vertex:");
                int firstVertex = -1;
                if (!int.TryParse(Console.ReadLine(), out firstVertex))
                {
                    Console.WriteLine("Wrong input \n Press any key");
                    Console.ReadKey();
                    Console.Clear();
                    ShowBasicInterface(mathGraph);
                    break;
                }
                Console.WriteLine("Enter second vertex:");
                int secondVertex = -1;
                if (!int.TryParse(Console.ReadLine(), out secondVertex))
                {
                    Console.WriteLine("Wrong input \n Press any key");
                    Console.ReadKey();
                    Console.Clear();
                    ShowBasicInterface(mathGraph);
                    break;
                }
                bool result = mathGraph.IsConnected(firstVertex, secondVertex);
                if (!result)
                {
                    Console.WriteLine("Vertex are not connected \nPress any key");
                    Console.ReadKey();
                    Console.Clear();
                    ShowBasicInterface(mathGraph);
                    break;
                }
                Console.WriteLine("Vertex are connected \nPress any key");
                Console.ReadKey();
                Console.Clear();
                ShowBasicInterface(mathGraph);
                break;
            }

            case "9":
            {
                Console.WriteLine("Enter first vertex:");
                int firstVertex = -1;
                if (!int.TryParse(Console.ReadLine(), out firstVertex))
                {
                    Console.WriteLine("Wrong input \nPress any key");
                    Console.ReadKey();
                    Console.Clear();
                    ShowBasicInterface(mathGraph);
                    break;
                }
                Console.WriteLine("Enter second vertex:");
                int secondVertex = -1;
                if (!int.TryParse(Console.ReadLine(), out secondVertex))
                {
                    Console.WriteLine("Wrong input \nPress any key");
                    Console.ReadKey();
                    Console.Clear();
                    ShowBasicInterface(mathGraph);
                    break;
                }
                float result = mathGraph.GetWeight(firstVertex, secondVertex);
                Console.WriteLine("Weight equals \n" + result + "\nPress any key");
                Console.ReadKey();
                Console.Clear();
                ShowBasicInterface(mathGraph);
                break;
            }

            case "10":
            {
                mathGraph.ClearGraph();
                Console.Clear();
                ShowBasicInterface(mathGraph);
                break;
            }

            case "11":
            {
                mathGraph.ChangeType();
                Console.Clear();
                ShowBasicInterface(mathGraph);
                break;
            }

            case "12":
            {
                Console.WriteLine("Which type of graph representation use");
                Console.WriteLine("1. Adjacency matrix");
                Console.WriteLine("2. Adjacency list");
                string representationType = Console.ReadLine();
                switch (representationType)
                {
                case "1":
                {
                    Console.WriteLine("Enter path to file with matrix:");
                    String result = mathGraph.ReadFromMatrix(Console.ReadLine());
                    Console.WriteLine(result);
                    Console.ReadKey();
                    Console.Clear();
                    ShowBasicInterface(mathGraph);
                    break;
                }

                case "2":
                {
                    Console.WriteLine("Enter path to file with list:");
                    String result = mathGraph.ReadFromList(Console.ReadLine());
                    Console.WriteLine(result);
                    Console.ReadKey();
                    Console.Clear();
                    ShowBasicInterface(mathGraph);
                    break;
                }
                }
                break;
            }

            case "13":
            {
                Console.WriteLine("Which type of graph representation use");
                Console.WriteLine("1. Adjacency matrix");
                Console.WriteLine("2. Adjacency list");
                string representationType = Console.ReadLine();
                switch (representationType)
                {
                case "1":
                {
                    Console.WriteLine("Enter path to file with matrix or where create it:");
                    String result = mathGraph.SaveToMatrix(Console.ReadLine());
                    Console.WriteLine(result);
                    Console.ReadKey();
                    Console.Clear();
                    ShowBasicInterface(mathGraph);
                    break;
                }

                case "2":
                {
                    Console.WriteLine("Enter path to file with list or where create it:");
                    String result = mathGraph.SaveToList(Console.ReadLine());
                    Console.WriteLine(result);
                    Console.ReadKey();
                    Console.Clear();
                    ShowBasicInterface(mathGraph);
                    break;
                }

                default:
                {
                    break;
                }
                }
                break;
            }

            case "14":
            {
                var vertex3subgraphs = mathGraph.Show3VertexSubgraphs();
                if (vertex3subgraphs.Equals(null))
                {
                    Console.WriteLine("There is no three vertex subgraphs");
                }
                else
                {
                    string result = "Found " + vertex3subgraphs.Count + " three vertex subgraphs" + ":";
                    for (int i = 0; i < vertex3subgraphs.Count; i++)
                    {
                        result += "\n";
                        foreach (int vertex in vertex3subgraphs[i])
                        {
                            if (vertex == vertex3subgraphs[i].Last.Value)
                            {
                                result += vertex;
                            }
                            else
                            {
                                result += vertex + ", ";
                            }
                        }
                    }
                    result += "\nPress any key";
                    Console.WriteLine(result);
                }
                Console.ReadKey();
                Console.Clear();
                ShowBasicInterface(mathGraph);
                break;
            }

            case "15":
            {
                Environment.Exit(0);
                break;
            }

            case "1010":
            {
                MediaPlayer player = new MediaPlayer();
                //  player.Open();
                //  player.Play();
                Console.Clear();
                ShowBasicInterface(mathGraph);
                break;
            }

            default:
            {
                Console.WriteLine("Wrong input \nPress any key");
                Console.ReadKey();
                Console.Clear();
                ShowBasicInterface(mathGraph);
                break;
            }
            }
        }