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

G = G // 100

P = []

C = []

for i in range(1, D+1):

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

    P.append(p)

    C.append(c//100)



minnum = 1e9

for i in range(0, 2**D):

    total = 0

    num = 0

    serach0 = [0] * D

    for j in range(D):

        if (i >> j) & 1:

            total += P[j]*(j+1) + C[j]

            num += P[j]

            serach0[j] = 1



    if total >= G:

        minnum = min(minnum, num)

        continue

    

    while 0 in serach0:

        idx = serach0.index(0)

        total_ = total

        num_ = num

        for _ in range(P[idx]):

            total_ += idx+1

            num_ += 1

            if total_ >= G:

                minnum = min(minnum, num_)

                break

        serach0[idx] = 1

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

G //= 100

P = [] 

C = []

for i in range(1, D+1):

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

    P.append(p)

    C.append(c//100)



scores = []

nums = []

for i in range(0, 2**D):

    score = 0

    num = 0

    remain = []

    for j in range(D):

        if (i>>j)&1:

            score += P[j]*(j+1) + C[j]

            num += P[j]

        else:

            remain.append(j)

    if score >= G:

        scores.append(score)

        nums.append(num)

    else:

        remain = sorted(remain, reverse=True)

        nokori = G - score

        for r in remain:

            if P[r] > -(-nokori // (r+1)):

                num += -(-nokori // (r+1))

                nums.append(num)

                break

print((min(nums)))
D, G = list(map(int, input().split()))
G = G // 100
P = []
C = []
for i in range(1, D + 1):
    p, c = list(map(int, input().split()))
    P.append(p)
    C.append(c // 100)
minnum = 1e9
for i in range(0, 2**D):
    total = 0
    num = 0
    serach0 = [0] * D
    for j in range(D):
        if (i >> j) & 1:
            total += P[j] * (j + 1) + C[j]
            num += P[j]
            serach0[j] = 1
    if total >= G:
        minnum = min(minnum, num)
        continue
    while 0 in serach0:
        idx = serach0.index(0)
        total_ = total
        num_ = num
        for _ in range(P[idx]):
            total_ += idx + 1
            num_ += 1
            if total_ >= G:
                minnum = min(minnum, num_)
                break
        serach0[idx] = 1
print(minnum)

D, G = list(map(int, input().split()))
G //= 100
P = []
C = []
for i in range(1, D + 1):
    p, c = list(map(int, input().split()))
    P.append(p)
    C.append(c // 100)
scores = []
nums = []
for i in range(0, 2**D):
    score = 0
    num = 0
    remain = []
    for j in range(D):
        if (i >> j) & 1:
            score += P[j] * (j + 1) + C[j]
            num += P[j]
        else:
            remain.append(j)
    if score >= G:
        scores.append(score)
        nums.append(num)
    else:
        remain = sorted(remain, reverse=True)
        nokori = G - score
        for r in remain:
            if P[r] > -(-nokori // (r + 1)):
                num += -(-nokori // (r + 1))
                nums.append(num)
                break
print((min(nums)))

-G = G // 100 +G //= 100 -minnum = 1e9 +scores = [] +nums = [] -    total = 0 +    score = 0 -    serach0 = [0] * D +    remain = [] -            total += P[j] * (j + 1) + C[j] +            score += P[j] * (j + 1) + C[j] -            serach0[j] = 1 -    if total >= G: -        minnum = min(minnum, num) -        continue -    while 0 in serach0: -        idx = serach0.index(0) -        total_ = total -        num_ = num -        for _ in range(P[idx]): -            total_ += idx + 1 -            num_ += 1 -            if total_ >= G: -                minnum = min(minnum, num_) +        else: +            remain.append(j) +    if score >= G: +        scores.append(score) +        nums.append(num) +    else: +        remain = sorted(remain, reverse=True) +        nokori = G - score +        for r in remain: +            if P[r] > -(-nokori // (r + 1)): +                num += -(-nokori // (r + 1)) +                nums.append(num) -        serach0[idx] = 1 -print(minnum) +print((min(nums)))