private static byte[] buffer = new byte[19];
public static void Main()
long target = 789019291177L;
long maxIndex = buffer.Length-1;
while(target*10L > 10L ){
byte remaind = (byte)(target%10L);
buffer[maxIndex-(digIndex++)]= remaind;
Console.WriteLine("debug: {0} {1}", remaind, target);
Console.WriteLine("debug: {0}", string.Join(",", buffer));
byte[] result = new byte[digIndex];
result[index++]=buffer[maxIndex-(--digIndex)];
Console.WriteLine("target: {0}", 789019291177L);
Console.WriteLine("result: {0}", string.Join(",", result));