private static void TestSingleLinkedListAddDeleteFindOperation()
        {
            // Single Linked List Operations
            Single.LinkedList<int> list = new Single.LinkedList<int>();

            list.AddFirst(1);

            list.AddFirst(5);
            list.AddFirst(8);

            Single.ListNode<int> head = null;
            head = PrintListNodes(list, head, "Print List");
            list.AddLast(18);
            list.AddFirst(12);
            list.AddLast(20);
            head = PrintListNodes(list, head, "Print List");

            list.AddAfterNthNode(5, 19);
            head = PrintListNodes(list, head, "Add 19 after 5th Node");

            list.RemoveAfterNthNode(1);
            head = PrintListNodes(list, head, "Remove 1st Node");

            list.RemoveAfterNthNode(6);
            head = PrintListNodes(list, head, "Remove 6th Node");

            list.RemoveAfterNthNode(4);
            head = PrintListNodes(list, head, "Remove 4th Node");

            list.Remove(5);
            head = PrintListNodes(list, head, "Remove Item 5");

            Single.ListNode<int> noderesult = list.FindKthNodeFormLast(list.Head, 3);
            Console.WriteLine(noderesult == null ? "NO Kth" : noderesult.Value + "__Found");
        }