#include <algorithm>
#include <iostream>
#include <string>
#include <vector>
#define pb push_back
#define pi pair<int, int>
#define l first
#define r second
#define all(x) x.begin(), x.end()

using namespace std;

const int maxn = 2e3 + 1;

int v[maxn];

int32_t main() {
    ios::sync_with_stdio(0);
    cin.tie(0); cout.tie(0);
    int a, b;
    cin >> a >> b;
    int cx = 1e9;
    int p = min(a, b);
    for (int i = 0; i < p; i++) {
        v[i] = cx;
        v[i + p] = -cx;
        --cx;
    }
    a -= p; b -= p;
    if (b) {
        int nbx = 0;
        for (int i = 2 * p - 1; i < 2 * p + b; i++)
            v[i] = -(++nbx);
        v[p - 1] = nbx * (nbx + 1) / 2;
    }
    if (a) {
        v[p - 1] = 1;
        int nbx = 1;
        for (int i = 2 * p; i < 2 * p + a; i++)
            v[i] = (++nbx);
        v[2 * p - 1] = - nbx * (nbx + 1) / 2;
    }
    for (int i = 0; i < 2 * p + a + b; i++)
        cout << v[i] << ' ';
    return 0;
}
#include<iostream>
#include<vector>
#include<stack>
#include<tuple>

using namespace std;

int main(int argc, char* argv[]) {
  int A, B, W;
  cin >> A >> B >> W;

  W *= 1000;
  auto D = B - A;

  const auto k = W / A;

  int maxCount = 0;
  int minCount = 2147483647;
  bool flag = false;

  for (auto i = 1; i <= k; i++) {
    const auto R = W - i * A;
    if (R <= D * i) {
      maxCount = max(maxCount, i);
      minCount = min(minCount, i);
      flag = true;
    }
  }

  if (flag) {
    cout << minCount << " " << maxCount << endl;
  } else {
    cout << "UNSATISFIABLE" << endl;
  }

  return 0;
}

