D, G = list(map(int, input().split()))

p = [0 for _ in range(11)]

c = [0 for _ in range(11)]



for i in range(D):

    p[i], c[i] = list(map(int, input().split()))



ans = 1e9

for mask in range(1 << D):

    s = 0

    num = 0

    rest_max = -1

    for i in range(D):

        if (mask >> i) & 1:

            s += 100 * (i+1) * p[i] + c[i]

            num += p[i]

        else:

            rest_max = i

    

    if s < G:

        s1 = 100 * (rest_max + 1)

        need = ( G - s + s1 - 1) // s1

        if need >= p[rest_max]:

            continue

        num += need

    ans = min(ans, num)



print(ans)
D, G = list(map(int, input().split()))

p = [0] * 11

c = [0] * 11



for i in range(D):

    p[i], c[i] = list(map(int, input().split()))





ans = 1e9

for mask in range(1<<D):

    s = 0

    num = 0

    rest_mask = -1

    for i in range(D):

        if mask >> i & 1:

            s += 100 * (i+1) * p[i] + c[i]

            num += p[i]

        else:

            rest_mask = i

    if s < G:

        s1 = 100 * (rest_mask + 1)

        need = (G - s + s1 -1) // s1

        if need >= p[rest_mask]:

            continue

        num += need

    ans = min(ans, num)



print(ans)
D, G = list(map(int, input().split()))
p = [0 for _ in range(11)]
c = [0 for _ in range(11)]
for i in range(D):
    p[i], c[i] = list(map(int, input().split()))
ans = 1e9
for mask in range(1 << D):
    s = 0
    num = 0
    rest_max = -1
    for i in range(D):
        if (mask >> i) & 1:
            s += 100 * (i + 1) * p[i] + c[i]
            num += p[i]
        else:
            rest_max = i
    if s < G:
        s1 = 100 * (rest_max + 1)
        need = (G - s + s1 - 1) // s1
        if need >= p[rest_max]:
            continue
        num += need
    ans = min(ans, num)
print(ans)

D, G = list(map(int, input().split()))
p = [0] * 11
c = [0] * 11
for i in range(D):
    p[i], c[i] = list(map(int, input().split()))
ans = 1e9
for mask in range(1 << D):
    s = 0
    num = 0
    rest_mask = -1
    for i in range(D):
        if mask >> i & 1:
            s += 100 * (i + 1) * p[i] + c[i]
            num += p[i]
        else:
            rest_mask = i
    if s < G:
        s1 = 100 * (rest_mask + 1)
        need = (G - s + s1 - 1) // s1
        if need >= p[rest_mask]:
            continue
        num += need
    ans = min(ans, num)
print(ans)

-p = [0 for _ in range(11)] -c = [0 for _ in range(11)] +p = [0] * 11 +c = [0] * 11 -    rest_max = -1 +    rest_mask = -1 -        if (mask >> i) & 1: +        if mask >> i & 1: -            rest_max = i +            rest_mask = i -        s1 = 100 * (rest_max + 1) +        s1 = 100 * (rest_mask + 1) -        if need >= p[rest_max]: +        if need >= p[rest_mask]: