работа с очень большими числами

Есть проблема, решаю задачи на codewars и в задаче где нужно поменять цифры числа на 0 или 1 в зависимости от условия, 0 если цифра меньше 5 и 1 если цифра больше 5, мне выдаёт ошибку когда я пытаюсь распарсить входную строку которая представляет громадное число через int.Parse, говорит что число слишком большое чтобы храниться в типе int, BigInteger не дал никаких результатов Вот код решения задачи:

static string FakeBinary(string number)
        {
            string output = "";
            BigInteger integerRepresentation = int.Parse(number);
            int[] digitsArray = new int[number.Length];
            for (int i = 0;i <digitsArray.Length; i++)
            {
                int currentDigit = (int)integerRepresentation % 10;
                integerRepresentation /= 10;
                if (currentDigit > 5)
                {
                    digitsArray[digitsArray.Length - i -1] = 1;
                }
                else if (currentDigit < 5)
                {
                    digitsArray[digitsArray.Length - i - 1] = 0;
                }
                output += digitsArray[i];
            }
            return output;
        }

Текст задачи: Given a string of digits, you should replace any digit below 5 with '0' and any digit 5 and above with '1'. Return the resulting string. С малыми числами работает, но с числом к примеру "366058562030849490134388085" падают тесты что на codewars, подскажите что делать? Вот вторая версия моего кода, но почему-то оно когда я обращаюсь к отдельному символу берёт целиком всю строку и всегда возвращает единицу при проверки условия

static string FakeBinary1(string number)
        {
            //for (int i = 0; i < number.Length; i++)
            //{
            //    Console.Write(number[i]);
            //}
            string output = "";
            for (int i = 0; i < number.Length; i++)
            {
                if (number[i] < 5)
                {
                    output += 0;
                }
                else if (number[i] > 5)
                {
                    output += 1;
                }
            }
            return output;
        }

Ответы (0 шт):