giulio98/xlcost-single-prompt huggingface dataset:
# program to get the sum of series : 1 | function to get the series ; computing sum of remaining n - 1 terms . ; 
def Series(x, n):
    sum = 1
    term = 1
    fct = 1
    p = 1
    multi = 1
    for i in range(1, n):
        fct = fct * multi * (multi + 1)
        p = p * x * x
        term = (-1) * term
        multi += 2
        sum = sum + (term * p) / fct
    return sum


x = 9
n = 10
print('%.4f' % Series(x, n))

# Expected output:
-5.1463
# find the number of consecutive zero at the end after multiplying n numbers | function to count two 's factor ; count number of 2 s present in n ; function to count five 's factor ; function to count number of zeros ; count the two 's factor of n number ; count the five 's factor of n number ; return the minimum ; 
def two_factor(n):
    twocount = 0
    while n % 2 == 0:
        twocount += 1
        n = int(n / 2)
    return twocount


def five_factor(n):
    fivecount = 0
    while n % 5 == 0:
        fivecount += 1
        n = int(n / 5)
    return fivecount


def find_con_zero(arr, n):
    twocount = 0
    fivecount = 0
    for i in range(n):
        twocount += two_factor(arr[i])
        fivecount += five_factor(arr[i])
    if twocount < fivecount:
        return twocount
    else:
        return fivecount


arr = [100, 10, 5, 25, 35, 14]
n = 6
print(find_con_zero(arr, n))

# Expected output:
4
# first occurrence of a digit in a given fraction | function to print the first digit ; reduce the number to its mod ; traverse for every decimal places ; get every fraction places when ( a * 10 / b ) / c ; check if it is equal to the required integer ; mod the number ; 
def first(a, b, c):
    a %= b
    for i in range(1, b + 1):
        a = a * 10
        if int(a / b) == c:
            return i
        a %= b
    return -1


a = 1
b = 4
c = 5
print(first(a, b, c))

# Expected output:
2
# minimize the absolute difference of sum of two subsets | function to print difference ; summation of n elements ; if divisible by 4 ; if remainder 1 or 2. in case of remainder 2 , we divide elements from 3 to n in groups of size 4 and put 1 in one group and 2 in group . this also makes difference 1. ; we put elements from 4 to n in groups of size 4. remaining elements 1 , 2 and 3 can be divided as ( 1 , 2 ) and ( 3 ) . ; 
def subsetDifference(n):
    s = int(n * (n + 1) / 2)
    if n % 4 == 0:
        print("First subset sum = ", int(s / 2))
        print("Second subset sum = ", int(s / 2))
        print("Difference = ", 0)
    else:
        if n % 4 == 1 or n % 4 == 2:
            print("First subset sum = ", int(s / 2))
            print("Second subset sum = ", int(s / 2) + 1)
            print("Difference = ", 1)
        else:
            print("First subset sum = ", int(s / 2))
            print("Second subset sum = ", int(s / 2))
            print("Difference = ", 0)


n = 6
subsetDifference(n)

# Expected output:
First subset sum =  10
Second subset sum =  11
Difference =  1
# time required to meet in equilateral triangle | function to calculate time to meet ; 
def timeToMeet(s, v):
    V = 3 * v / 2
    time = s / V
    print(time)


s = 25
v = 56
timeToMeet(s, v)

# Expected output:
0.2976190476190476
# sum of the series 1 + ( 1 + 3 ) + ( 1 + 3 + 5 ) + ( 1 + 3 + 5 + 7 ) + â €¦ â €¦ + ( 1 + 3 + 5 + 7 + â €¦ + ( 2 n | functionn to find the sum of the given series ; first term of each i - th term ; next term ; required sum ; 
def sumOfTheSeries(n):
    sum = 0
    for i in range(1, n + 1):
        k = 1
        for j in range(1, i + 1):
            sum += k
            k += 2
    return sum


n = 5
print("Sum =", sumOfTheSeries(n))

# Expected output:
Sum = 55
# check if a number can be written as sum of three consecutive integers | function to check if a number can be written as sum of three consecutive integer . ; if n is 0 ; if n is positive , increment loop by 1. ; if n is negative , decrement loop by 1. ; running loop from 0 to n - 2 ; check if sum of three consecutive integer is equal to n . ; 
def checksum(n):
    if n == 0:
        print("-1 0 1")
        return 0
    inc = 0
    if n > 0:
        inc = 1
    else:
        inc = -1
    for i in range(0, n - 1, inc):
        if i + i + 1 + i + 2 == n:
            print(i, " ", i + 1, " ", i + 2)
            return 0
    print("-1")


n = 6
checksum(n)

# Expected output:
1   2   3
# sum of all divisors from 1 to n | python3 code to find sum of all divisor of number up to 'n ; utility function to find sum of all divisor of number up to 'n ; find all divisors of i and add them ; 

'NEW_LINE'


def divisorSum(n):
    sum = 0
    for i in range(1, n + 1):
        j = 1
        while j * j <= i:
            if i % j == 0:
                if i / j == j:
                    sum += j
                else:
                    sum += j + i / j
            j = j + 1
    return int(sum)


n = 4
print(divisorSum(n))
n = 5
print(divisorSum(n))

# Expected output:
15
21
# program for binomial coefficients table | function to print binomial table ; b ( m , x ) is 1 if either m or x is is 0. ; otherwise using recursive formula b ( m , x ) = b ( m , x - 1 ) * ( m - x + 1 ) / x ; 
def printbinomial(max):
    for m in range(max + 1):
        print('% 2d' % m, end=' ')
        binom = 1
        for x in range(m + 1):
            if m != 0 and x != 0:
                binom = binom * (m - x + 1) / x
            print('% 4d' % binom, end=' ')
        print("", end='')


max = 10
printbinomial(max)

# Expected output:
 0    1  1    1    1  2    1    2    1  3    1    3    3    1  4    1    4    6    4    1  5    1    5   10   10    5    1  6    1    6   15   20   15    6    1  7    1    7   21   35   35   21    7    1  8    1    8   28   56   70   56   28    8    1  9    1    9   36   84  126  126   84   36    9    1  10    1   10   45  120  210  252  210  120   45   10    1
# find largest prime factor of a number | python3 code to find largest prime factor of number ; a function to find largest prime factor ; initialize the maximum prime factor variable with the lowest one ; print the number of 2 s that divide n ; n must be odd at this point ; now we have to iterate only for integers who does not have prime factor 2 and 3 ; this condition is to handle the case when n is a prime number greater than 4 ; 

import math


def maxPrimeFactors(n):
    maxPrime = -1
    while n % 2 == 0:
        maxPrime = 2
    while n % 3 == 0:
        maxPrime = 3
        n = n / 3
    for i in range(5, int(math .sqrt(n)) + 1, 6):
        while n % i == 0:
            maxPrime = i
            n = n / i
        while n % (i + 2) == 0:
            maxPrime = i + 2
            n = n / (i + 2)
    if n > 4:
        maxPrime = n
    return int(maxPrime)


n = 15
print(maxPrimeFactors(n))

# Expected output:
5
# count unset bits in a range | function to get no of set bits in the binary representation of 'n ; function to count unset bits in the given range ; calculating a number ' num ' having ' r ' number of bits and bits in the range l to r are the only set bits ; returns number of unset bits in the range ' l ' to ' r ' in 'n ; 
def countSetBits(n):
    count = 0
    while n:
        n &= (n - 1)
        count += 1
    return count


def countUnsetBitsInGivenRange(n, l, r):
    num = ((1 << r) - 1) ^ ((1 << (l - 1)) - 1)
    return (r - l + 1) - countSetBits(n & num)


n = 80
l = 1
r = 4
print(countUnsetBitsInGivenRange(n, l, r))

# Expected output:
4
# sum of fourth power of first n even natural numbers | calculate the sum of fourth power of first n even natural numbers ; made even number ; 
def evenPowerSum(n):
    sum = 0
    for i in range(1, n + 1):
        j = 2 * i
        sum = sum + (j * j * j * j)
    return sum


n = 5
print(evenPowerSum(n))

# Expected output:
15664
# sum of fourth power of first n even natural numbers | calculate the sum of fourth power of first n even natural numbers ; 
def evenPowerSum(n):
    return (8 * n * (n + 1) * (2 * n + 1) * (3 * n * n + 3 * n - 1)) / 15


n = 4
print(int(evenPowerSum(n)))

# Expected output:
5664
# balanced prime | python3 code to find nth balanced prime ; return the nth balanced prime . ; sieve of eratosthenes ; if prime [ p ] is not changed , then it is a prime ; update all multiples of p ; storing all primes ; finding the nth balanced prime ; 

MAX = 501


def balancedprime(n):
    prime = [True] * (MAX + 1)
    p = 2
    while p * p <= MAX:
        if prime[p]:
            i = p * 2
            while i <= MAX:
                prime[i] = False
                i = i + p
        p = p + 1
    v = list()
    p = 3
    while p <= MAX:
        if prime[p]:
            v .append(p)
        p = p + 2
    count = 0
    i = 1
    for i in range(len(v)):
        if v[i] == (v[i + 1] + v[i - 1]) / 2:
            count += 1
        if count == n:
            return v[i]


n = 4
print(balancedprime(n))

# Expected output:
173
# sum of squares of first n natural numbers | return the sum of square of first n natural numbers ; iterate i from 1 and n finding square of i and add to sum . ; 
def squaresum(n):
    sm = 0
    for i in range(1, n + 1):
        sm = sm + (i * i)
    return sm


n = 4
print(squaresum(n))

# Expected output:
30
# break a number such that sum of maximum divisors of all parts is minimum | function to check if a number is prime or not . ; if n is an even number ( we can write it as sum of two primes ) ; if n is odd and n - 2 is prime . ; if n is odd , n - 3 must be even . ; 
def isPrime(n):
    i = 2
    while (i * i <= n):
        if (n % i == 0):
            return False
        i += 1
    return True


def minimumSum(n):
    if (isPrime(n)):
        return 1
    if (n % 2 == 0):
        return 2
    if (isPrime(n - 2)):
        return 2
    return 3


n = 27
print(minimumSum(n))

# Expected output:
3
# express an odd number as sum of prime numbers | function to check if a number is prime or not . ; prints at most three prime numbers whose sum is n . ; case - i ; case - ii ; case - iii ; 
def isPrime(x):
    if (x == 0 or x == 1):
        return 0
    i = 2
    while i * i <= x:
        if (x % i == 0):
            return 0
        i = i + 1
    return 1


def findPrimes(n):
    if (isPrime(n)):
        print(n, end=" ")
    elif (isPrime(n - 2)):
        print("2", end=" ")
        print(n - 2, end=" ")
    else:
        print("3", end=" ")
        n = n - 3
        i = 0
        while i < n:
            if (isPrime(i) and isPrime(n - i)):
                print(i, end=" ")
                print((n - i), end=" ")
                break
            i = i + 1


n = 27
findPrimes(n)

# Expected output:
3 5 19
# aks primality test | array used to store coefficients . ; function to calculate the coefficients of ( x - 1 ) ^ n - ( x ^ n - 1 ) with the help of pascal 's triangle . ; function to check whether the number is prime or not ; calculating all the coefficients by the function coef and storing all the coefficients in c array . ; subtracting c [ n ] and adding c [ 0 ] by 1 as ( x - 1 ) ^ n - ( x ^ n - 1 ) , here we are subtracting c [ n ] by 1 and adding 1 in expression . ; checking all the coefficients whether they are divisible by n or not . if n is not prime , then loop breaks and ( i > 0 ) . ; return true if all coefficients are divisible by n . ; 

c = [0] * 100


def coef(n):
    c[0] = 1
    for i in range(n):
        c[1 + i] = 1
        for j in range(i, 0, -1):
            c[j] = c[j - 1] - c[j]
        c[0] = -c[0]


def isPrime(n):
    coef(n)
    c[0] = c[0] + 1
    c[n] = c[n] - 1
    i = n
    while (i > -1 and c[i] % n == 0):
        i = i - 1
    return True if i < 0 else False


n = 37
if (isPrime(n)):
    print("Prime")
else:
    print("Not Prime")

# Expected output:
Prime
# motzkin number | return the nth motzkin number . ; base case ; recursive step ; 
def motzkin(n):
    if (n == 0 or n == 1):
        return 1
    return ((2 * n + 1) * motzkin(n - 1) +
            (3 * n - 3) * motzkin(n - 2)) / (n + 2)


n = 8
print(motzkin(n))

# Expected output:
323.0
# sum of the series 0.6 , 0.06 , 0.006 , 0.0006 , ... to n terms | python3 program to find sum of 0.6 , 0.06 , 0.006 , 0.0006 , ... to n terms ; function which return the sum of series ; 

import math


def sumOfSeries(n):
    return ((0.666) * (1 - 1 / pow(10, n)))


n = 2
print(sumOfSeries(n))

# Expected output:
0.65934
# narcissistic number | function to count digits ; returns true if n is narcissistic number ; count the number of digits ; calculates the sum of digits raised to power ; 
def countDigit(n):
    if (n == 0):
        return 0
    return (1 + countDigit(n // 10))


def check(n):
    l = countDigit(n)
    dup = n
    sm = 0
    while (dup):
        sm = sm + pow(dup % 10, l)
        dup = dup // 10
    return (n == sm)


n = 1634
if (check(n)):
    print("yes")
else:
    print("no")

# Expected output:
yes
# sum of squares of first n natural numbers | function to calculate series ; 
def summation(n):
    return sum([i ** 2 for i in range(1, n + 1)])


if __name__ == "__main__":
    n = 2
    print(summation(n))

# Expected output:
5
# leyland number | python3 program to print first n leyland numbers . ; print first n leyland number . ; outer loop for x from 2 to n . ; inner loop for y from 2 to x . ; calculating x ^ y + y ^ x ; sorting the all leyland number . ; printing first n leyland number . ; 

import math


def leyland(n):
    ans = []
    x = 2
    y = 2
    while x <= n:
        y = 2
        while y <= x:
            temp = pow(x, y) + pow(y, x)
            ans .append(temp)
            y = y + 1
        x = x + 1
    ans .sort()
    i = 0
    while i < n:
        print(ans[i], end=" ")
        i = i + 1


n = 6
leyland(n)

# Expected output:
8 17 32 54 57 100
# nicomachusâ €™ s theorem ( sum of k | return the sum of k - th group of positive odd integers . ; finding first element of kth group . ; finding the sum . ; 
def kthgroupsum(k):
    cur = int((k * (k - 1)) + 1)
    sum = 0
    while k:
        sum += cur
        cur += 2
        k = k - 1
    return sum


k = 3
print(kthgroupsum(k))

# Expected output:
27
# n | returns n - th term of the series 2 , 12 , 36 , 80 , 150 ; 
def nthTerm(n):
    return (n * n) + (n * n * n)


n = 4
print(nthTerm(n))

# Expected output:
80
# sum of the series 1 , 3 , 6 , 10. . . ( triangular numbers ) | function to find the sum of series ; 
def seriesSum(n):
    return int((n * (n + 1) * (n + 2)) / 6)


n = 4
print(seriesSum(n))

# Expected output:
20
# find n | function to find the nth term of series ; loop to add numbers ; 
def term(n):
    ans = 0
    for i in range(1, n + 1):
        ans = ans + i
    return ans


n = 4
print(term(n))

# Expected output:
10
# find the average of first n natural numbers | return the average of first n natural numbers ; 
def avgOfFirstN(n):
    return (float)(1 + n) / 2


n = 20
print(avgOfFirstN(n))

# Expected output:
10.5
# find the sum of the series 1 + 11 + 111 + 1111 + ... . . upto n terms | python3 program to find the sum of the series 1 + 11 + 111 + 1111 + ... . ; function for finding summation ; 

import math


def summation(n):
    return int((pow(10, n + 1) - 10 - (9 * n)) / 81)


print(summation(5))

# Expected output:
12345
# sum of the series 1 + x / 1 + x ^ 2 / 2 + x ^ 3 / 3 + . . + x ^ n / n | python 3 code to print the sum of the series ; 
def sum(x, n):
    total = 1.0
    multi = x
    for i in range(1, n + 1):
        total = total + multi / i
        multi = multi * x
    return total


x = 2
n = 5
print(round(sum(x, n), 2))

# Expected output:
18.07
# find n | python program to find the nth term of the series 1 2 2 3 3 3 ... ; function to solve the quadratic equation ; calculating the nth term ; 

import math


def term(n):
    x = (((1) + math .sqrt(1 + (8 * n))) / 2)
    return x


n = 5
print(int(term(n)))

# Expected output:
3
# deserium number | returns count of digits in n . ; returns true if x is diserium ; compute powers of digits from right to left . ; if sum of powers is same as given number . ; 
def countDigits(n):
    c = 0
    while (n != 0):
        c += 1
        n = int(n / 10)
    return c


def isDeserium(x):
    temp = x
    p = countDigits(x)
    sum = 0
    while (x != 0):
        digit = int(x % 10)
        sum += pow(digit, p)
        p -= 1
        x = int(x / 10)
    return (sum == temp)


x = 135
if (isDeserium(x)):
    print("Yes")
else:
    print("No")

# Expected output:
Yes
# largest number by which given 3 numbers should be divided such that they leaves same remainder | __gcd function ; function return number which divides these three number and leaves same remainder . ; we find the differences of all three pairs ; return gcd of three differences . ; 
def gcd(a, b):
    if (a == 0):
        return b
    return gcd(b % a, a)


def sameRemainder(a, b, c):
    a1 = (b - a)
    b1 = (c - b)
    c1 = (c - a)
    return gcd(a1, gcd(b1, c1))


a = 62
b = 132
c = 237
print(sameRemainder(a, b, c))

# Expected output:
35
# find combined mean and variance of two series | function to find mean of series . ; function to find the standard deviation of series . ; function to find combined variance of two different series . ; mean1 and mean2 are the mean of two arrays . ; sd1 and sd2 are the standard deviation of two array . ; combinedmean is variable to store the combined mean of both array . ; d1_square and d2_square are the combined mean deviation . ; combinedvar is variable to store combined variance of both array . ; 
def mean(arr, n):
    sum = 0
    for i in range(n):
        sum = sum + arr[i]
    mean = sum / n
    return mean


def sd(arr, n):
    sum = 0
    for i in range(n):
        sum = sum + ((arr[i] - mean(arr, n)) * (arr[i] - mean(arr, n)))
    sdd = sum / n
    return sdd


def combinedVariance(arr1, arr2, n, m):
    mean1 = mean(arr1, n)
    mean2 = mean(arr2, m)
    print("Mean1: ", round(mean1, 2), " mean2: ", round(mean2, 2))
    sd1 = sd(arr1, n)
    sd2 = sd(arr2, m)
    print(
        "StandardDeviation1: ", round(
            sd1, 2), " StandardDeviation2: ", round(
            sd2, 2))
    combinedMean = (n * mean1 + m * mean2) / (n + m)
    print("Combined Mean: ", round(combinedMean, 2))
    d1_square = ((mean1 - combinedMean) * (mean1 - combinedMean))
    d2_square = ((mean2 - combinedMean) * (mean2 - combinedMean))
    print(
        "d1 square: ", round(
            d1_square, 2), " d2_square: ", round(
            d2_square, 2))
    combinedVar = (n * (sd1 + d1_square) + m * (sd2 + d2_square)) / (n + m)
    print("Combined Variance: ", round(combinedVar, 2))


arr1 = [23, 45, 34, 78, 12, 76, 34]
arr2 = [65, 67, 34, 23, 45]
n = len(arr1)
m = len(arr2)
combinedVariance(arr1, arr2, n, m)

# Expected output:
Mean1:  43.14  mean2:  46.8
StandardDeviation1:  548.69  StandardDeviation2:  294.56
Combined Mean:  44.67
d1 square:  2.32  d2_square:  4.55
Combined Variance:  446.06
# check if a large number is divisible by 13 or not | returns true if number is divisible by 13 else returns false ; append required 0 s at the beginning . ; same as strcat ( num , "00" ) ; in c . ; same as strcat ( num , "0" ) ; in c . ; alternatively add / subtract digits in group of three to result . ; store group of three numbers in group variable . ; generate alternate series of plus and minus ; 
def checkDivisibility(num):
    length = len(num)
    if (length == 1 and num[0] == '0'):
        return True
    if (length % 3 == 1):
        num = str(num) + "00"
        length += 2
    elif (length % 3 == 2):
        num = str(num) + "0"
        length += 1
    sum = 0
    p = 1
    for i in range(length - 1, -1, -1):
        group = 0
        group += ord(num[i]) - ord('0')
        i -= 1
        group += (ord(num[i]) - ord('0')) * 10
        i -= 1
        group += (ord(num[i]) - ord('0')) * 100
        sum = sum + group * p
        p *= (-1)
    sum = abs(sum)
    return (sum % 13 == 0)


if __name__ == "__main__":
    number = "83959092724"
    if (checkDivisibility(number)):
        print(number, "is divisible by 13.")
    else:
        print(number, "is not divisible by 13.")

# Expected output:
83959092724 is divisible by 13.
# given two numbers a and b find all x such that a % x = b | python3 program to find x such that a % x is equal to b . ; if a is less than b then no solution ; if a is equal to b then every number greater than a will be the solution so its infinity ; count variable store the number of values possible ; checking for both divisor and quotient whether they divide ( a - b ) completely and greater than b . ; here y is added twice in the last iteration so 1 y should be decremented to get correct solution ; 

import math


def modularEquation(a, b):
    if (a < b):
        print("No solution possible ")
        return
    if (a == b):
        print("Infinite Solution possible ")
        return
    count = 0
    n = a - b
    y = (int)(math .sqrt(a - b))
    for i in range(1, y + 1):
        if (n % i == 0):
            if (n / i > b):
                count = count + 1
            if (i > b):
                count = count + 1
    if (y * y == n and y > b):
        count = count - 1
    print(count)


a = 21
b = 5
modularEquation(a, b)

# Expected output:
2
# check whether a number can be represented by sum of two squares | function to check if there exist two numbers sum of whose squares is n . ; store square value in hashmap ; 
def sumSquare(n):
    s = dict()
    for i in range(n):
        if i * i > n:
            break
        s[i * i] = 1
        if (n - i * i) in s .keys():
            print((n - i * i)**(1 / 2), "^2 +", i, "^2")
            return True
    return False


n = 1
if n == 1:
    print('0^2 + 1^2')
elif (sumSquare(n)):
    print("Yes")
else:
    print("No")

# Expected output:
0^2 + 1^2
# check whether a number can be represented by sum of two squares | check whether a number can be represented by sum of two squares using fermat theorem . ; count all the prime factors . ; ifany prime factor of the form ( 4 k + 3 ) ( 4 k + 3 ) occurs an odd number of times . ; if n itself is a x prime number and can be expressed in the form of 4 k + 3 we return false . ; 
def judgeSquareSum(n):
    i = 2
    while (i * i <= n):
        count = 0
        if (n % i == 0):
            while (n % i == 0):
                count += 1
                n = int(n / i)
            if (i % 4 == 3 and count % 2 != 0):
                return False
        i += 1
    return n % 4 != 3


n = 17
if (judgeSquareSum(n)):
    print("Yes")
else:
    print("No")

# Expected output:
Yes
# total no of 1 's in numbers | function to count the frequency of 1. ; 
def countDigitOne(n):
    countr = 0
    i = 1
    while (i <= n):
        divider = i * 10
        countr += (int(n / divider) * i + min(max(n % divider - i + 1, 0), i))
        i *= 10
    return countr


n = 13
print(countDigitOne(n))
n = 113
print(countDigitOne(n))
n = 205
print(countDigitOne(n))

# Expected output:
6
40
141
# largest number with prime digits | check if character is prime ; replace with previous prime character ; if 2 erase s [ i ] and replace next with 7 ; find first non prime char ; find first char greater than 2 ; like 20 ; like 7721 ; replace remaining with 7 ; 
def isPrime(c):
    return (c == '2' or c == '3' or c == '5' or c == '7')


def decrease(s, i):
    if (s[i] <= '2'):
        s .pop(i)
        s[i] = '7'
    elif (s[i] == '3'):
        s[i] = '2'
    elif (s[i] <= '5'):
        s[i] = '3'
    elif (s[i] <= '7'):
        s[i] = '5'
    else:
        s[i] = '7'


def primeDigits(s):
    s = [i for i in s]
    i = 0
    while i < len(s):
        if (isPrime(s[i]) == False):
            while (s[i] <= '2' and i >= 0):
                i -= 1
            if (i < 0):
                i = 0
                decrease(s, i)
            else:
                decrease(s, i)
            for j in range(i + 1, len(s)):
                s[j] = '7'
            break
        i += 1
    return "".join(s)


s = "45"
print(primeDigits(s))
s = "1000"
print(primeDigits(s))
s = "7721"
print(primeDigits(s))
s = "7221"
print(primeDigits(s))
s = "74545678912345689748593275897894708927680"
print(primeDigits(s))

# Expected output:
37
777
7577
5777
73777777777777777777777777777777777777777