#include <bits/stdc++.h>
using namespace std;
string determine_type(vector<int> a) {
  double P = accumulate(a.begin(), a.end(), 0) / 250.;
  sort(a.begin(), a.end());
  vector<double> Fn(2000), Fp(2000), Fu(2000);
  int cur = 0;
  double supu = 0.0, supp = 0.0;
  for (int i = 0; i < 2000; ++i) {
    Fn[i] = i == 0 ? 0 : Fn[i - 1];
    while (cur < 250 && a[cur] < i) {
      Fn[i] += 1 / 250.;
      ++cur;
    }
    Fp[i] = (i == 0 ? 0 : Fp[i - 1]) + exp(i * log(P) - P - lgamma(i + 1));
    Fu[i] = (i == 0 ? 0 : Fu[i - 1]) + (i > 2 * P ? 0 : 1. / (2 * P + 1));
    supu = max(supu, abs(Fu[i] - Fn[i]));
    supp = max(supp, abs(Fp[i] - Fn[i]));
  }
  return supu < supp ? "uniform" : "poisson";
}
void check() {
  int P = rand() % (1000 - 10) + 10;
  default_random_engine engine;
  vector<int> arg(250);
  int perror = 0, uerror = 0;
  for (int test = 0; test < 1000; ++test) {
    poisson_distribution<> pdistr(P);
    for (int i = 0; i < 250; ++i) {
      arg[i] = pdistr(engine);
    }
    if (determine_type(arg) != "poisson") {
      ++perror;
    }
    uniform_int_distribution<> udistr(0, 2 * P);
    for (int i = 0; i < 250; ++i) {
      arg[i] = udistr(engine);
    }
    if (determine_type(arg) != "uniform") {
      ++uerror;
    }
  }
  cout << perror << " " << uerror << endl;
}
int main() {
  int v;
  cin >> v;
  for (int test = 0; test < v; ++test) {
    vector<int> a(250);
    for (int i = 0; i < 250; ++i) {
      cin >> a[i];
    }
    cout << determine_type(a) << endl;
  }
}
