#include <bits/stdc++.h>
using namespace std;
long long int dx[] = {1, -1, 0, 0};
long long int dy[] = {0, 0, 1, -1};
long long int const MOD = 1000000007;
long long mod_pow(long long x, long long n) {
  return (!n) ? 1 : (mod_pow((x * x) % MOD, n / 2) * ((n & 1) ? x : 1)) % MOD;
}
long long int madd(long long int a, long long int b) { return (a + b) % MOD; }
long long int msub(long long int a, long long int b) {
  return (a - b + MOD) % MOD;
}
long long int mmul(long long int a, long long int b) { return (a * b) % MOD; }
long long int minv(long long int a) { return mod_pow(a, MOD - 2); }
long long int mdiv(long long int a, long long int b) {
  return mmul(a, minv(b));
}
namespace std {
bool operator<(const complex<double>& a, const complex<double>& b) {
  return a.real() != b.real() ? a.real() < b.real() : a.imag() < b.imag();
}
}  // namespace std
long long int rec[4010];
long long int n;
signed main() {
  while (cin >> n, n) {
    vector<long long int> v;
    memset(rec, 0, sizeof(rec));
    long long int cnt = 0;
    for (long long int(i) = (0); (i) < (n); (i)++) {
      long long int e, p, q;
      cin >> e >> p >> q;
      rec[e] += p * q;
      auto itr = find(v.begin(), v.end(), e);
      if (itr == v.end()) v.push_back(e);
    }
    for (long long int(i) = (0); (i) < (v.size()); (i)++) {
      if (rec[v[i]] >= 1000000) {
        cout << v[i] << endl;
        cnt++;
      }
    }
    if (!cnt) cout << "NA" << endl;
  }
  return 0;
}
