#include <bits/stdc++.h>
#pragma GCC optimize("O3")
#pragma GCC target("sse4")
using namespace std;
int main() {
  ios_base::sync_with_stdio(0);
  cin.tie(0);
  int n;
  cin >> n;
  int second, t;
  cin >> t >> second;
  vector<int> c2(n + 10);
  c2[2] = 1;
  map<int, int> bc2;
  for (int i = 3; i <= n + 5; i++) c2[i] = i - 1 + c2[i - 1];
  for (int i = 2; i <= n + 5; i++) bc2[c2[i]] = i;
  vector<int> orig(n + 1);
  vector<int> cur(n + 1);
  vector<int> ts(n + 1);
  for (int i = n - 1; i >= 3; i--) {
    cout << "+ " << i << endl;
    int s2;
    cin >> s2 >> ts[i];
  }
  cout << "+ " << 1 << endl;
  int t1, s1;
  cin >> s1 >> t1;
  cout << "+ " << 2 << endl;
  int t2, s2;
  cin >> s2 >> t2;
  cout << "+ " << 1 << endl;
  int t3, s3;
  cin >> s3 >> t3;
  int a23 = t1 - ts[3];
  int a232 = t3 - t2;
  orig[3] = a232 - a23 - 1;
  cur[3] = orig[3] + 1;
  orig[2] = a23 / cur[3];
  if (s3 > s2) {
    cur[1] = bc2[s3 - s2] + 1;
    orig[1] = cur[1] - 2;
  } else {
    cur[1] = 2;
    orig[1] = 0;
  }
  cur[4] = ((t2 - t1) / (cur[3])) - orig[1] - 1;
  if (n != 4)
    orig[4] = cur[4] - 1;
  else
    orig[4] = cur[4];
  for (int i = 3; i <= n - 2; i++) {
    int dif = ts[i] - ts[i + 1];
    dif -= orig[i - 1] * (orig[i - 2] + cur[i + 1]);
    cur[i + 2] = dif / cur[i + 1];
    if (i + 2 != n)
      orig[i + 2] = cur[i + 2] - 1;
    else
      orig[i + 2] = cur[i + 2];
  }
  cout << "! ";
  for (int i = 1; i <= n; i++) cout << orig[i] << " ";
  cout << endl;
  return 0;
}
