public void Tests()
        {
            var num = new StringInteger("098");

            Assert.Equal("98", num.ToString());
            num.Increment();
            Assert.Equal("99", num.ToString());
            Assert.Equal(2, num.GetNonZeroNumbers());
            num.Increment();
            Assert.Equal("100", num.ToString());
            Assert.Equal(1, num.GetNonZeroNumbers());
            Assert.True(String.Compare(num.ToString(), "101") < 0);
            Assert.True(String.Compare(num.ToString(), "099") > 0);
        }
        public static int getNumberOfIntegers(string L, string R, int K)
        {
            var result = 0;
            var l      = new StringInteger(L);

            l.Increment();
            do
            {
                if (l.GetNonZeroNumbers() == K)
                {
                    result++;
                }
                l.Increment();
            } while (String.Compare(l.ToString().PadLeft(R.Length, '0'), R) <= 0);
            return(result % 1000000007);
        }