#include <bits/stdc++.h>
using namespace std;
class A {
 public:
  A() {}
  ~A() {}
  static bool big(string a, string b) {
    if (a == "rock" && b == "scissors") return true;
    if (a == "scissors" && b == "paper") return true;
    if (a == "paper" && b == "rock") return true;
    return false;
  }
  static void solve() {
    string a, b, c;
    cin >> a >> b >> c;
    if (big(a, b) && big(a, c)) {
      cout << "F" << endl;
      return;
    }
    if (big(b, a) && big(b, c)) {
      cout << "M" << endl;
      return;
    }
    if (big(c, b) && big(c, a)) {
      cout << "S" << endl;
      return;
    }
    cout << "?" << endl;
  }
};
class B {
  static int min(int &n, int &m, std::vector<std::vector<int> > *g, int &a,
                 int &b) {
    int res = std::numeric_limits<int>::max();
    for (int i(0), _n(n - a + 1); i < _n; ++i) {
      for (int j(0), _n(m - b + 1); j < _n; ++j) {
        int c = 0;
        for (int k(i), _n(i + a); k < _n; ++k)
          for (int h(j), _n(j + b); h < _n; ++h) c += g->at(k)[h];
        res = ((res) < (c) ? res : c);
      }
    }
    for (int i(0), _n(n - b + 1); i < _n; ++i) {
      for (int j(0), _n(m - a + 1); j < _n; ++j) {
        int c = 0;
        for (int k(i), _n(i + b); k < _n; ++k)
          for (int h(j), _n(j + a); h < _n; ++h) c += g->at(k)[h];
        res = ((res) < (c) ? res : c);
      }
    }
    return res;
  }

 public:
  B() {}
  ~B() {}
  static void solve() {
    int n, m;
    cin >> n >> m;
    std::vector<std::vector<int> > *g = new std::vector<std::vector<int> >(n);
    for (int i(0), _n(n); i < _n; ++i) {
      for (int j(0), _n(m); j < _n; ++j) {
        int d;
        cin >> d;
        g->at(i).push_back(d);
      }
    }
    int a, b;
    cin >> a >> b;
    cout << min(n, m, g, a, b) << endl;
  }
};
class C {
  static std::pair<int, int> R(std::vector<int> *g) {
    std::pair<int, int> res = make_pair(false, 0);
    std::pair<double, double> n;
    for (int i(0), _n(g->size()); i < _n; ++i) {
      if (!i) {
        n = make_pair(g->at(i) * 10.0, g->at(i) * 20.0);
      }
      double m = g->at(i) * 10.0 / (i + 1);
      n.second = (((g->at(i) + 1) * 10.0 / (i + 1)) < (n.second)
                      ? (g->at(i) + 1) * 10.0 / (i + 1)
                      : n.second);
      n.first = ((m) > (n.first) ? m : n.first);
    }
    if (int(n.first * (g->size() + 1) / 10) ==
        int((n.second * (g->size() + 1) - 1e-9) / 10)) {
      res.first = true;
      res.second = int(n.first * (g->size() + 1) / 10);
    }
    return res;
  }

 public:
  C() {}
  ~C() {}
  static void solve() {
    std::ios_base::sync_with_stdio(0);
    int n;
    cin >> n;
    std::vector<int> *g = new std::vector<int>(n);
    for (int i(0), _n(n); i < _n; ++i) cin >> g->at(i);
    std::pair<int, int> res = R(g);
    if (res.first)
      cout << "unique" << endl << res.second << endl;
    else
      cout << "not unique" << endl;
  }
};
int main() { C::solve(); }
