#include <bits/stdc++.h>
using namespace std;
int ans[105], a[105], b[105];
bool iszero[105];
int main() {
  int n;
  cin >> n >> a[0] >> b[0];
  cout << "+ 2" << endl;
  cin >> a[1] >> b[1];
  cout << "+ 1" << endl;
  cin >> a[2] >> b[2];
  cout << "+ 3" << endl;
  cin >> a[3] >> b[3];
  cout << "+ 1" << endl;
  cin >> a[4] >> b[4];
  for (int i = 5; i <= n; i++)
    cout << "+ " << i - 1 << endl, cin >> a[i] >> b[i];
  for (int i = n; i >= 1; i--) a[i] -= a[i - 1], b[i] -= b[i - 1];
  ans[1] = (1 + sqrt(1 + 8 * a[4]) / 2) - 1;
  ans[2] = b[4] - b[2] - 1;
  cerr << ans[2] << endl;
  ans[3] = b[2] / (ans[2] + 1);
  iszero[4] = (b[3] - (ans[1] + 1) * (ans[2] + 1)) == 0;
  if (n == 4) {
    ans[4] = (b[3] - (ans[1] + 1) * (ans[2] + 1)) / (ans[2] + 1);
    cout << "! ";
    for (int i = 1; i <= n; i++) cout << ans[i] << " ";
    cout << endl;
    return 0;
  }
  for (int i = 5; i <= n; i++) {
    ans[i - 1] = iszero[i - 1] ? 0 : (1 + sqrt(1 + 8 * a[i]) / 2);
    iszero[i] = (b[i] - (ans[i - 2] + 1) * (ans[i - 3] + 1)) == 0;
  }
  if (!iszero[n])
    ans[n] = (b[n] - (ans[n - 2] + 1) * (ans[n - 3] + 1)) / (ans[n - 2] + 1);
  cout << "! ";
  for (int i = 1; i <= n; i++) cout << ans[i] << " ";
  cout << endl;
  return 0;
}
