# 준석이는 평당 가격이 price 원인 부지에서 건물을 한 채 사려 합니다. 건물은 평수가 정해져 있으며, 건물을 살 때는 부동산 중개업자에게 수수료를 지급해야 합니다. 준석이는 평수와 관계없이 총비용이 가장 적게 드는 건물을 구입하기로 했습니다. 단, 가장 저렴한 건물이 여럿이라면 이 중에서 평수가 더 작은 건물을 구입합니다.

# 예를 들어 평당 가격 price = 20,000이고, 각 건물의 평수와 중개 수수료가 다음과 같은 경우

# 건물 번호	평수	중개 수수료(단위 : 원)
# 1번	20	150,000
# 2번	80	30,000
# 3번	63	70,000
# 4번	21	20,000
# 1번 건물의 구매 가격은 다음과 같습니다.

# 20,000 x 20 + 150,000 = 550,000
# 동일하게 다른 건물의 구매 가격을 계산하면 각 건물의 가격은 1번 건물부터 순서대로 [550000, 1630000, 1330000, 440000]입니다. 따라서 준석이는 가장 저렴한 4번 건물을 사면 됩니다.

# 부지의 평당 가격 price, 각 건물의 정보를 담은 배열 info가 매개변수로 주어질 때, 준석이가 몇 번 건물을 구입해야 하는지 return 하도록 solution 함수를 완성해주세요.

# 제한사항
# price는 1 이상 100,000 이하인 자연수입니다.
# info의 길이는 1 이상 100,000 이하입니다.
# info의 길이가 N인 경우, 각 건물에는 1부터 N까지 번호가 하나씩 붙어있습니다.
# info에는 건물의 번호 순서대로 정보가 담겨있습니다.
# info의 원소는 [평수, 수수료]의 형태입니다.
# 평수는 1 이상 10,000 이하인 자연수입니다.
# 수수료는 1 이상 100,000,000 이하인 자연수입니다.
# 가장 저렴한 건물이 여러채 있는 경우, 평수가 더 작은 건물 번호를 return 해주세요.
# 구매 비용과 평수가 모두 같은 경우는 입력으로 주어지지 않습니다.
# 입출력 예
# price	info	return
# 20000	[[20, 150000], [80, 30000], [63, 70000], [21, 20000]]	4
# 20000	[[20, 150000], [40, 30000], [25, 70000]]	1
# 30000	[[30, 100000], [20, 400000]]	2
# 입출력 예 설명
# 입출력 예 #1

# 문제의 설명과 같습니다.

# 입출력 예 #2

# 1번 건물 구매 비용이 20,000 * 20 + 150,000 = 550,000으로 가장 저렴합니다.

# 입출력 예 #3

# 두 건물의 구매 비용이 1,000,000으로 같습니다. 따라서 평수가 더 작은 2번 건물을 삽니다.

def cal_price(price, info):
    width = info[0]
    fee = info[1]
    total = (price * width) + fee

    return total


def solution(price, info):
    total_price = []
    for i in range(len(info)):
        total_price.append(cal_price(price, info[i]))

    min = 99999999999
    minidx = 9999 
    for idx, j in enumerate(total_price):
        if j < min:
            min = j
            minidx = idx
        elif j == min:
            if info[minidx][0] < info[idx][0]:
                continue
            else:
                min = j
                minidx = idx

    return minidx + 1