#include <bits/stdc++.h>
using namespace std;
template <typename T>
using Vec = std::vector<T>;
int main() {
  int n;
  cin >> n;
  int s, t;
  cin >> t >> s;
  Vec<int> ds(n), dt(n), a(n);
  for (int i = n - 1; i >= 0; --i) {
    printf("+ %d\n", i > 2 ? i : 1 + i % 2);
    cin >> dt[i] >> ds[i];
    ds[i] -= s, dt[i] -= t;
    s += ds[i], t += dt[i];
  }
  a[0] = sqrt(2 * dt[0]);
  a[2] = ds[0] - ds[2] - 1;
  a[1] = ds[2] / (a[2] + 1);
  a[3] = (ds[1] - (a[0] + 1) * (a[2] + 1)) / (a[2] + 1) - 1;
  for (int i = 3; i < n - 1; ++i) {
    a[i + 1] = (ds[i] - a[i - 3] * a[i - 2]) / (a[i] + 1) - a[i - 2] - 1;
  }
  a[n - 1] += 1;
  cout << "!";
  for (int i = 0; i < n; ++i) {
    cout << " " << a[i];
  }
  cout << endl;
  return 0;
}
