static void Main(string[] args)
        {
            RoverForwardMovementServices  myRoverForwardMovement  = new RoverForwardMovementServices();
            RoverBackwardMovementServices myRoverBackwardMovement = new RoverBackwardMovementServices();
            RoverFinalPositionServices    myRoverPosition         = new RoverFinalPositionServices();
            RoverAlignmentService         myRoverAlignment        = new RoverAlignmentService();

            Console.Beep();
            Console.WriteLine("=========Welcome to Nasa Rover Mission========");
            Console.WriteLine("Please provide rover x-coordinate :");
            int roverXCoordinate = Convert.ToInt32(Console.ReadLine());

            Console.Beep();
            Console.WriteLine("Please provide rover y-coordinate :");
            int roverYCoordinate = Convert.ToInt32(Console.ReadLine());

            Console.Beep();
            Console.WriteLine("Please provide rover alignment :");
            string roverAlignment = Console.ReadLine();

            Console.Beep();
            Console.WriteLine("Now please provide the rover move command below");
            Console.WriteLine("Please provide first move command");
            char myRoverFistMoveCommand = Convert.ToChar(Console.ReadLine());

            Console.Beep();
            Console.WriteLine("Please provide second move command");
            char myRoverSecondMoveCommand = Convert.ToChar(Console.ReadLine());

            Console.Beep();
            //Console.WriteLine("Please provide third move command");
            //char myRoverThirdMoveCommand = Convert.ToChar(Console.ReadLine());
            //Console.Beep();

            if (roverAlignment == "N" && myRoverFistMoveCommand == 'F' && myRoverSecondMoveCommand == 'F')
            {
                roverYCoordinate = myRoverForwardMovement.GetRoverForwardMovementInYCoordinateWhenAlignmentIsNorth(roverYCoordinate);
                roverYCoordinate = myRoverForwardMovement.GetRoverForwardMovementInYCoordinateWhenAlignmentIsNorth(roverYCoordinate);
            }
            if (roverAlignment == "N" && myRoverFistMoveCommand == 'F' && myRoverSecondMoveCommand == 'R')
            {
                roverYCoordinate = myRoverForwardMovement.GetRoverForwardMovementInYCoordinateWhenAlignmentIsNorth(roverYCoordinate);
                roverAlignment   = "E";
            }
            if (roverAlignment == "N" && myRoverFistMoveCommand == 'R' && myRoverSecondMoveCommand == 'F')
            {
                roverAlignment   = "E";
                roverXCoordinate = myRoverForwardMovement.GetRoverForwardMovementInXCoordinateWhenAlignmentIsEast(roverXCoordinate);
            }
            if (roverAlignment == "N" && myRoverFistMoveCommand == 'R' && myRoverSecondMoveCommand == 'R')
            {
                roverAlignment = "S";
            }
            if (roverAlignment == "E" && myRoverFistMoveCommand == 'F' && myRoverSecondMoveCommand == 'F')
            {
                roverXCoordinate = myRoverForwardMovement.GetRoverForwardMovementInXCoordinateWhenAlignmentIsEast(roverXCoordinate);
                roverXCoordinate = myRoverForwardMovement.GetRoverForwardMovementInXCoordinateWhenAlignmentIsEast(roverXCoordinate);
            }
            if (roverAlignment == "E" && myRoverFistMoveCommand == 'F' && myRoverSecondMoveCommand == 'R')
            {
                roverXCoordinate = myRoverForwardMovement.GetRoverForwardMovementInXCoordinateWhenAlignmentIsEast(roverXCoordinate);
                roverAlignment   = "S";
            }
            if (roverAlignment == "E" && myRoverFistMoveCommand == 'R' && myRoverSecondMoveCommand == 'F')
            {
                roverAlignment   = "S";
                roverYCoordinate = myRoverForwardMovement.GetRoverForwardMovementInYCoordinateWhenAlignmentIsSouth(roverYCoordinate);
            }
            if (roverAlignment == "E" && myRoverFistMoveCommand == 'R' && myRoverSecondMoveCommand == 'R')
            {
                roverAlignment = "W";
            }
            if (roverAlignment == "S" && myRoverFistMoveCommand == 'F' && myRoverSecondMoveCommand == 'F')
            {
                roverYCoordinate = myRoverForwardMovement.GetRoverForwardMovementInYCoordinateWhenAlignmentIsSouth(roverYCoordinate);
                roverYCoordinate = myRoverForwardMovement.GetRoverForwardMovementInYCoordinateWhenAlignmentIsSouth(roverYCoordinate);
            }
            if (roverAlignment == "S" && myRoverFistMoveCommand == 'F' && myRoverSecondMoveCommand == 'R')
            {
                roverYCoordinate = myRoverForwardMovement.GetRoverForwardMovementInYCoordinateWhenAlignmentIsSouth(roverYCoordinate);
                roverAlignment   = "W";
            }
            if (roverAlignment == "S" && myRoverFistMoveCommand == 'R' && myRoverSecondMoveCommand == 'F')
            {
                roverAlignment   = "W";
                roverXCoordinate = myRoverForwardMovement.GetRoverForwardMovementInXCoordinateWhenAlignmentIsWest(roverXCoordinate);
            }
            if (roverAlignment == "S" && myRoverFistMoveCommand == 'R' && myRoverSecondMoveCommand == 'R')
            {
                roverAlignment = "N";
            }
            if (roverAlignment == "W" && myRoverFistMoveCommand == 'F' && myRoverSecondMoveCommand == 'F')
            {
                roverXCoordinate = myRoverForwardMovement.GetRoverForwardMovementInXCoordinateWhenAlignmentIsWest(roverXCoordinate);
                roverXCoordinate = myRoverForwardMovement.GetRoverForwardMovementInXCoordinateWhenAlignmentIsWest(roverXCoordinate);
            }
            if (roverAlignment == "W" && myRoverFistMoveCommand == 'F' && myRoverSecondMoveCommand == 'R')
            {
                roverXCoordinate = myRoverForwardMovement.GetRoverForwardMovementInXCoordinateWhenAlignmentIsWest(roverXCoordinate);
                roverAlignment   = "N";
            }
            if (roverAlignment == "W" && myRoverFistMoveCommand == 'R' && myRoverSecondMoveCommand == 'F')
            {
                roverAlignment   = "N";
                roverYCoordinate = myRoverForwardMovement.GetRoverForwardMovementInYCoordinateWhenAlignmentIsNorth(roverYCoordinate);
            }
            if (roverAlignment == "W" && myRoverFistMoveCommand == 'R' && myRoverSecondMoveCommand == 'R')
            {
                roverAlignment = "E";
            }
            if (roverAlignment == "N" && myRoverFistMoveCommand == 'B' && myRoverSecondMoveCommand == 'B')
            {
                roverYCoordinate = myRoverBackwardMovement.GetRoverBackwardMovementInYCoordinateWhenAlignmentIsNorth(roverYCoordinate);
                roverYCoordinate = myRoverBackwardMovement.GetRoverBackwardMovementInYCoordinateWhenAlignmentIsNorth(roverYCoordinate);
            }
            if (roverAlignment == "N" && myRoverFistMoveCommand == 'B' && myRoverSecondMoveCommand == 'R')
            {
                roverYCoordinate = myRoverBackwardMovement.GetRoverBackwardMovementInYCoordinateWhenAlignmentIsNorth(roverYCoordinate);
                roverAlignment   = "E";
            }
            if (roverAlignment == "N" && myRoverFistMoveCommand == 'R' && myRoverSecondMoveCommand == 'B')
            {
                roverAlignment = "S";
            }
            if (roverAlignment == "N" && myRoverFistMoveCommand == 'L' && myRoverSecondMoveCommand == 'L')
            {
                roverAlignment = "S";
            }
            if (roverAlignment == "E" && myRoverFistMoveCommand == 'B' && myRoverSecondMoveCommand == 'B')
            {
                roverXCoordinate = myRoverBackwardMovement.GetRoverBackwardMovementInXCoordinateWhenAlignmentIsEast(roverXCoordinate);
                roverXCoordinate = myRoverBackwardMovement.GetRoverBackwardMovementInXCoordinateWhenAlignmentIsEast(roverXCoordinate);
            }
            if (roverAlignment == "E" && myRoverFistMoveCommand == 'B' && myRoverSecondMoveCommand == 'R')
            {
                roverXCoordinate = myRoverBackwardMovement.GetRoverBackwardMovementInXCoordinateWhenAlignmentIsEast(roverXCoordinate);
            }
            if (roverAlignment == "E" && myRoverFistMoveCommand == 'R' && myRoverSecondMoveCommand == 'B')
            {
                roverAlignment   = "S";
                roverYCoordinate = myRoverBackwardMovement.GetRoverBackwardMovementInYCoordinateWhenAlignmentIsSouth(roverYCoordinate);
            }
            if (roverAlignment == "E" && myRoverFistMoveCommand == 'L' && myRoverSecondMoveCommand == 'L')
            {
                roverAlignment = "W";
            }
            if (roverAlignment == "S" && myRoverFistMoveCommand == 'B' && myRoverSecondMoveCommand == 'B')
            {
                roverYCoordinate = myRoverBackwardMovement.GetRoverBackwardMovementInYCoordinateWhenAlignmentIsSouth(roverYCoordinate);
                roverYCoordinate = myRoverBackwardMovement.GetRoverBackwardMovementInYCoordinateWhenAlignmentIsSouth(roverYCoordinate);
            }
            if (roverAlignment == "S" && myRoverFistMoveCommand == 'B' && myRoverSecondMoveCommand == 'R')
            {
                roverYCoordinate = myRoverBackwardMovement.GetRoverBackwardMovementInYCoordinateWhenAlignmentIsSouth(roverYCoordinate);
                roverAlignment   = "W";
            }
            if (roverAlignment == "S" && myRoverFistMoveCommand == 'R' && myRoverSecondMoveCommand == 'B')
            {
                roverAlignment   = "W";
                roverXCoordinate = myRoverBackwardMovement.GetRoverBackwardMovementInXCoordinateWhenAlignmentIsWest(roverXCoordinate);
            }
            if (roverAlignment == "S" && myRoverFistMoveCommand == 'L' && myRoverSecondMoveCommand == 'L')
            {
                //roverAlignment = myRoverAlignment.GetChangedRoverAlignmentWhenInitialAlignmentIsSouthAndMotionInstructionIsL(myRoverFistMoveCommand);
                //roverAlignment = myRoverAlignment.GetChangedRoverAlignmentWhenInitialAlignmentIsEastAndMotionInstructionIsL(myRoverSecondMoveCommand);

                roverAlignment = "N";
            }


            if (roverAlignment == "W" && myRoverFistMoveCommand == 'L' && myRoverSecondMoveCommand == 'L')
            {
                roverAlignment = "E";
            }
            if (roverAlignment == "N" && myRoverFistMoveCommand == 'F' && myRoverSecondMoveCommand == 'L')
            {
                roverYCoordinate = myRoverForwardMovement.GetRoverForwardMovementInYCoordinateWhenAlignmentIsNorth(roverYCoordinate);
                roverAlignment   = "W";
            }
            if (roverAlignment == "N" && myRoverFistMoveCommand == 'L' && myRoverSecondMoveCommand == 'F')
            {
                roverAlignment   = "W";
                roverXCoordinate = myRoverForwardMovement.GetRoverForwardMovementInXCoordinateWhenAlignmentIsWest(roverXCoordinate);
            }
            if (roverAlignment == "N" && myRoverFistMoveCommand == 'B' && myRoverSecondMoveCommand == 'L')
            {
                roverYCoordinate = myRoverBackwardMovement.GetRoverBackwardMovementInYCoordinateWhenAlignmentIsNorth(roverYCoordinate);
                roverAlignment   = "W";
            }
            if (roverAlignment == "N" && myRoverFistMoveCommand == 'L' && myRoverSecondMoveCommand == 'B')
            {
                roverAlignment   = "W";
                roverXCoordinate = myRoverBackwardMovement.GetRoverBackwardMovementInXCoordinateWhenAlignmentIsWest(roverXCoordinate);
            }

            if (roverAlignment == "E" && myRoverFistMoveCommand == 'F' && myRoverSecondMoveCommand == 'L')
            {
                roverXCoordinate = myRoverForwardMovement.GetRoverForwardMovementInXCoordinateWhenAlignmentIsEast(roverXCoordinate);
                roverAlignment   = "N";
            }
            if (roverAlignment == "E" && myRoverFistMoveCommand == 'L' && myRoverSecondMoveCommand == 'F')
            {
                roverAlignment   = "N";
                roverYCoordinate = myRoverForwardMovement.GetRoverForwardMovementInYCoordinateWhenAlignmentIsNorth(roverYCoordinate);
            }
            if (roverAlignment == "E" && myRoverFistMoveCommand == 'B' && myRoverSecondMoveCommand == 'L')
            {
                roverXCoordinate = myRoverBackwardMovement.GetRoverBackwardMovementInXCoordinateWhenAlignmentIsEast(roverXCoordinate);
                roverAlignment   = "N";
            }
            if (roverAlignment == "E" && myRoverFistMoveCommand == 'L' && myRoverSecondMoveCommand == 'B')
            {
                roverAlignment   = "N";
                roverYCoordinate = myRoverBackwardMovement.GetRoverBackwardMovementInYCoordinateWhenAlignmentIsNorth(roverYCoordinate);
            }
            if (roverAlignment == "S" && myRoverFistMoveCommand == 'F' && myRoverSecondMoveCommand == 'L')
            {
                roverYCoordinate = myRoverForwardMovement.GetRoverForwardMovementInYCoordinateWhenAlignmentIsSouth(roverYCoordinate);
                roverAlignment   = "E";
            }
            if (roverAlignment == "S" && myRoverFistMoveCommand == 'L' && myRoverSecondMoveCommand == 'F')
            {
                roverAlignment   = "E";
                roverXCoordinate = myRoverForwardMovement.GetRoverForwardMovementInXCoordinateWhenAlignmentIsEast(roverXCoordinate);
            }
            if (roverAlignment == "S" && myRoverFistMoveCommand == 'B' && myRoverSecondMoveCommand == 'L')
            {
                roverYCoordinate = myRoverBackwardMovement.GetRoverBackwardMovementInYCoordinateWhenAlignmentIsSouth(roverYCoordinate);
                roverAlignment   = "E";
            }
            if (roverAlignment == "S" && myRoverFistMoveCommand == 'L' && myRoverSecondMoveCommand == 'B')
            {
                roverAlignment   = "E";
                roverXCoordinate = myRoverBackwardMovement.GetRoverBackwardMovementInXCoordinateWhenAlignmentIsEast(roverXCoordinate);
            }
            if (roverAlignment == "W" && myRoverFistMoveCommand == 'F' && myRoverSecondMoveCommand == 'L')
            {
                roverYCoordinate = myRoverForwardMovement.GetRoverForwardMovementInXCoordinateWhenAlignmentIsWest(roverXCoordinate);
                roverAlignment   = "S";
            }
            if (roverAlignment == "W" && myRoverFistMoveCommand == 'L' && myRoverSecondMoveCommand == 'F')
            {
                roverAlignment   = "S";
                roverYCoordinate = myRoverForwardMovement.GetRoverForwardMovementInYCoordinateWhenAlignmentIsSouth(roverYCoordinate);
            }
            if (roverAlignment == "W" && myRoverFistMoveCommand == 'B' && myRoverSecondMoveCommand == 'L')
            {
                roverXCoordinate = myRoverBackwardMovement.GetRoverBackwardMovementInXCoordinateWhenAlignmentIsWest(roverXCoordinate);
                roverAlignment   = "S";
            }
            if (roverAlignment == "W" && myRoverFistMoveCommand == 'L' && myRoverSecondMoveCommand == 'B')
            {
                roverAlignment   = "S";
                roverYCoordinate = myRoverBackwardMovement.GetRoverBackwardMovementInYCoordinateWhenAlignmentIsSouth(roverYCoordinate);
            }

            string roverFinalPosition = roverXCoordinate.ToString() + roverYCoordinate.ToString() + roverAlignment;

            Console.WriteLine("Your rover final position is :" + roverFinalPosition);

            Console.ReadLine();
        }