using System.Collections;
using System.Collections.Generic;
public static void Main()
var splitNumber = number.ToCharArray().ToList();
var combineNumberString = String.Empty;
IEnumerable<string> recordArrangement = FinalCombination(number, combineNumberString,splitNumber);
recordArrangement.Distinct().ToArray().Count();
Console.WriteLine(recordArrangement.Distinct().ToArray().Count());
public static IEnumerable<string> FinalCombination(string number,string combineNumberString, List<char> splitNumber){
while(number != combineNumberString){
var record = Arrangement(splitNumber);
var firstChar = splitNumber.First();
splitNumber.Add(firstChar);
combineNumberString = String.Join(String.Empty, splitNumber.ToArray());
foreach(var rec in record)
public static IEnumerable<string> Arrangement(List<char> number){
foreach(var num in number){
var merge = num.ToString();
var number2 = new List<char>(number);
foreach(var num1 in number2){