Problem:
Sale Result

There is data on sales of your company. Your task is to write a program which identifies good workers.

The program should read a list of data where each item includes the employee ID i, the amount of sales q and the corresponding unit price p. Then, the program should print IDs of employees whose total sales proceeds (i.e. sum of p × q) is greater than or equal to 1,000,000 in the order of inputting. If there is no such employees, the program should print "NA". You can suppose that n < 4000, and each employee has an unique ID. The unit price p is less than or equal to 1,000,000 and the amount of sales q is less than or equal to 100,000.

Input

The input consists of several datasets. The input ends with a line including a single 0. Each dataset consists of:

n (the number of data in the list)
i p q
i p q
:
:
i p q

Output

For each dataset, print a list of employee IDs or a text "NA"

Sample Input

4
1001 2000 520
1002 1800 450
1003 1600 625
1001 200 1220
2
1001 100 3
1005 1000 100
2
2013 5000 100
2013 5000 100
0

Output for the Sample Input

1001
1003
NA
2013

Solution in JAVA (judge verdict: Accepted)

import java.util.*;
import java.math.BigInteger;

public class Main {
  public static void main(String[] args) {
    new Main().run();
  }

  private void run() {
    while(sc.hasNext()) {
      final int n = sc.nextInt();

      if(n == 0) break;

      final List<Integer> employees = new ArrayList<Integer>();
      final Map<Integer, BigInteger> sales = new HashMap<Integer, BigInteger>();

      for(int i = 0; i < n; i++) {
        final int id = sc.nextInt();
        final long price = sc.nextInt();
        final long num = sc.nextInt();

        final BigInteger total = BigInteger.valueOf(price * num);

        if(sales.containsKey(id)) sales.put(id, sales.get(id).add(total));
        else {
          employees.add(id);
          sales.put(id, total);
        }
      }

      final BigInteger border = BigInteger.valueOf(1000000L);

      boolean na = true;
      for(int id : employees) {
        if(sales.get(id).compareTo(border) >= 0) {
          na = false;
          System.out.println(id);
        }
      }

      if(na) System.out.println("NA");
    }
  }

  private final Scanner sc = new Scanner(System.in);
}