public static int SmallerByAbsIsFirstOrSecond(MyBigNumber myNmbr1, MyBigNumber myNmbr2)
        {
            int         floatPstn1 = myNmbr1.FloatPointPosition;
            int         floatPstn2 = myNmbr2.FloatPointPosition;
            MyBigNumber longFloatPart, shortFloatPart;
            int         longFloatLngth  = 0;
            int         shortFloatLngth = 0;

            if (floatPstn2 > floatPstn1)
            {
                longFloatLngth  = floatPstn2;
                shortFloatLngth = floatPstn1;
                longFloatPart   = myNmbr2;
                shortFloatPart  = myNmbr1;
            }
            else
            {
                longFloatLngth  = floatPstn1;
                shortFloatLngth = floatPstn2;
                longFloatPart   = myNmbr1;
                shortFloatPart  = myNmbr2;
            }
            string longFltStr  = longFloatPart.PartDigits;
            string shortFltStr = MyBigNumber.AddNmbrZero(shortFloatPart.PartDigits, -1 * (longFloatLngth - shortFloatLngth));
            var    lsToEqual   = new List <string>(2);

            lsToEqual.Add(longFltStr);
            lsToEqual.Add(shortFltStr);
            MyBigNumber.IndentLengthWithZeroes(lsToEqual);
            bool smallerLong = MyBigNumber.FirstLineSmallerThanSecond(lsToEqual[0], lsToEqual[1]);
            int  resCmpr     = 0;

            if (smallerLong)
            {
                if (floatPstn2 > floatPstn1)
                {
                    resCmpr = 2;
                }
                else
                {
                    resCmpr = 1;
                }
            }
            else
            {
                if (floatPstn2 > floatPstn1)
                {
                    resCmpr = 1;
                }
                else
                {
                    resCmpr = 2;
                }
            }
            return(resCmpr);
        }
        public static MyBigNumber MultiplyBy(MyBigNumber myBigNumber, MyBigNumber myBigMultiplier)
        {
            string tmpNmbrString   = myBigNumber.PartDigits;
            string tmpMltplrString = myBigMultiplier.PartDigits;
            var    lstMtpldLines   = new List <string>(tmpMltplrString.Length);

            for (int i = tmpMltplrString.Length - 1; i >= 0; i--)
            {
                string line = MyBigNumber.MultiplyLineByChar(tmpNmbrString, tmpMltplrString[i]);
                line = MyBigNumber.AddNmbrZero(line, (-1 * (tmpMltplrString.Length - 1 - i)));
                lstMtpldLines.Add(line);
            }
            MyBigNumber.IndentLengthWithZeroes(lstMtpldLines);
            string lineSum = lstMtpldLines[0];

            for (int i = 1; i < lstMtpldLines.Count; i++)
            {
                string tmpLine  = lstMtpldLines[i];
                var    lsAppend = new List <string>(2);
                lsAppend.Add(lineSum);
                lsAppend.Add(tmpLine);
                MyBigNumber.IndentLengthWithZeroes(lsAppend);
                lineSum = MyBigNumber.AddTwoLines(lsAppend[0], lsAppend[1]);
            }
            int pstnFloatPoint = myBigNumber.FloatPointPosition + myBigMultiplier.FloatPointPosition;
            int nmbrLeadZeroes = pstnFloatPoint - lineSum.Length + 1;

            if (nmbrLeadZeroes > 0)
            {
                lineSum = MyBigNumber.AddNmbrZero(lineSum, nmbrLeadZeroes);
            }
            int newSign     = myBigMultiplier.SignNmbr * myBigNumber.SignNmbr;
            var newMyNumber = new MyBigNumber()
            {
                PartDigits = lineSum, FloatPointPosition = pstnFloatPoint, SignNmbr = newSign
            };
            string resultValue = newMyNumber.Value();
            var    resMyNumber = MyBigNumber.CreateMyBigNumber(resultValue);

            return(resMyNumber);
        }
        static void Main(string[] args)
        {
            string[] strArr = Console.ReadLine().Split(new char[] { ' ' }, StringSplitOptions.RemoveEmptyEntries).ToArray();

            int n            = (int)Math.Round(double.Parse(strArr[0]));
            var numbrAtBas10 = MyBigNumber.CreateMyBigNumber(strArr[1]);
            var lsRmnngs     = new List <string>();

            string n_BaseStr     = "" + n;
            string mainPartStr   = MyBigNumber.DevideByN_baseInt(numbrAtBas10, '1');
            string rmnngStr      = "";
            var    myHlpMainPart = MyBigNumber.CreateMyBigNumber(mainPartStr);
            var    testExitBool  = false;

            do
            {
                var lsDvsnResults = MyBigNumber.ReturnDevisionSeparatedMdl(myHlpMainPart, n_BaseStr[0]);

                rmnngStr    = lsDvsnResults[1].Value();
                mainPartStr = lsDvsnResults[0].Value();
                var lsCmprExit = new List <string>(2)
                {
                    n_BaseStr, mainPartStr
                };
                MyBigNumber.IndentLengthWithZeroes(lsCmprExit);
                lsRmnngs.Add(rmnngStr);
                myHlpMainPart = MyBigNumber.CreateMyBigNumber(mainPartStr);
                testExitBool  = MyBigNumber.FirstLineSmallerThanSecond(lsCmprExit[0], lsCmprExit[1]);
            } while (testExitBool);
            string nBasedStr = "" + mainPartStr;

            for (int i = lsRmnngs.Count; i > 0; i--)
            {
                nBasedStr += lsRmnngs[i - 1];
            }
            Console.WriteLine(nBasedStr);
        }