public override string ToString()
        {
            string str       = "LosingStateFlagsNum: " + Environment.NewLine;
            string upperHand = UpperHandIfStartFirst ? "First" : "Later";

            str += string.Join(", ", LosingStateFlagsNum.Select(i => i)) + Environment.NewLine;
            str += "Upper Hand if start: " + upperHand + Environment.NewLine;

            return(str);
        }
        public int PulledFlagDecisionConsecutive(int remainingFlags)
        {
            int pulledFlag = 0;
            var remainingLosingStateFlagsNum = LosingStateFlagsNum.Where(x => x < remainingFlags).ToList();

            foreach (int item in remainingLosingStateFlagsNum)
            {
                int num = remainingFlags - item;
                if (FlagsThatCanBeRemove.Contains(num))
                {
                    pulledFlag = num;
                    break;
                }
            }

            if (pulledFlag == 0)
            {
                Random random = new Random();
                int    index  = random.Next(FlagsThatCanBeRemove.Count);
                pulledFlag = FlagsThatCanBeRemove[index];
            }

            return(pulledFlag);
        }