만드는 중입니다

아직 만드는 중이라 바뀔 수 있습니다

문라이트 목장

시간 제한8초메모리 제한512 MB

요약
작물 데이터마다 씨앗 가격, 성장 단계, 열매 수확량, 수확 횟수로 단위 시간당 수익을 계산한 뒤, 효율 내림차순으로 이름을 정렬하고 동률이면 사전순으로 출력한다.
난이도

쉬움10점 중 3점

유형
정렬, 구현, 수학, 시뮬레이션
정답자
아직 제출이 없습니다

문제

당신은 인기 웹 게임 「문라이트 목장」에 빠져 있다. 이 게임의 목적은 밭에서 작물을 길러 그것을 팔아 수입을 얻고, 그 수입으로 목장을 키우는 것이다.

당신은 밭을 빨리 키우고 싶다. 그래서 우선 게임에서 기를 수 있는 작물을 시간당 수입 효율에 따라 정렬하기로 했다.

작물을 기르려면 씨앗을 사야 한다. 작물 i의 씨앗 이름은 Li, 가격은 Pi로 주어진다. 밭에 씨앗을 심으면 Ai 시간 뒤에 싹이 나온다. 싹이 나온 뒤 Bi 시간 뒤에 어린잎이 나온다. 어린잎이 나온 뒤 Ci 시간 뒤에 잎이 무성해진다. 잎이 무성해진 뒤 Di 시간 뒤에 꽃이 핀다. 꽃이 핀 뒤 Ei 시간 뒤에 열매가 맺힌다. 씨앗 하나에서 열매가 Fi개 맺히고, 그 열매는 하나당 Si 가격에 팔린다. 일부 작물은 다기작이며 모두 Mi번 열매를 맺는다. 단기작은 Mi = 1로 나타낸다. 다기작 작물은 Mi번째 열매가 맺힐 때까지는 열매가 맺힌 뒤 잎으로 돌아간다. 어떤 씨앗의 수입은 그 씨앗에서 맺힌 모든 열매를 판 금액에서 씨앗 가격을 뺀 값이다. 또한 그 씨앗의 수입 효율은 그 수입을 씨앗을 심은 뒤 모든 열매가 맺히기를 마칠 때까지의 시간으로 나눈 값이다.

당신의 일은 입력으로 주어지는 작물 정보를 수입 효율의 내림차순으로 정렬해 출력하는 프로그램을 작성하는 것이다.

입력

입력은 데이터셋의 나열이며, 각 데이터셋은 다음과 같은 형식으로 주어진다.

N
L1 P1 A1 B1 C1 D1 E1 F1 S1 M1
L2 P2 A2 B2 C2 D2 E2 F2 S2 M2
...
LN PN AN BN CN DN EN FN SN MN

첫 줄은 데이터셋에 포함된 작물의 수 N이다 (1 ≤ N ≤ 50).

이어지는 N줄에는 각 줄에 작물 하나의 정보가 들어 있다. 각 변수의 의미는 문제에서 설명한 대로이다. 작물 이름 Li는 알파벳 소문자로만 이루어진 20자 이내의 문자열이고, 1 ≤ Pi, Ai, Bi, Ci, Di, Ei, Fi, Si ≤ 100, 1 ≤ Mi ≤ 5이다. 한 케이스 안에 같은 이름의 작물은 존재하지 않는다고 가정해도 좋다.

입력의 끝은 0 하나만을 포함하는 줄로 나타낸다.

출력

각 데이터셋에 대해 한 줄에 하나씩 작물 이름을 수입 효율의 내림차순으로 출력한다. 수입 효율이 같은 작물은 이름을 사전순 오름차순으로 출력한다.

각 데이터셋의 출력 뒤에는 "#"만으로 이루어진 한 줄을 출력한다.

예제1

  1. 예제 1

    입력
    5
    apple 1 1 1 1 1 1 1 10 1
    banana 1 2 2 2 2 2 1 10 1
    carrot 1 2 2 2 2 2 1 10 2
    durian 1 3 3 3 3 3 1 10 1
    eggplant 1 3 3 3 3 3 1 100 1
    4
    enoki 1 3 3 3 3 3 1 10 1
    tomato 1 3 3 3 3 3 1 10 1
    potato 1 3 3 3 3 3 1 10 1
    onion 1 3 3 3 3 3 1 10 1
    3
    a 10 1 1 1 1 1 1 10 1
    b 10 2 2 2 2 2 2 10 1
    c 10 2 2 2 2 2 2 10 1
    0
    
    예상 출력
    eggplant
    apple
    carrot
    banana
    durian
    #
    enoki
    onion
    potato
    tomato
    #
    b
    c
    a
    #