Balls.Program.Main C# (CSharp) Method

Main() public static method

public static Main ( ) : void
return void
        public static void Main()
        {
            string line = Console.ReadLine();

            Dictionary<char, int> balls = new Dictionary<char, int>();

            for (int i = 0; i < line.Length; i++)
            {
                if (balls.ContainsKey(line[i]))
                {
                    balls[line[i]]++;
                }
                else
                {
                    balls.Add(line[i], 1);
                }
            }

            BigInteger allFac = CalcFactorial(line.Length);

            foreach (var item in balls)
            {
                allFac /= CalcFactorial(item.Value);
            }

            Console.WriteLine(allFac);
        }
    }