#include<bits/stdc++.h>
typedef long long ll;
#define int ll
#define pii pair<int,int>
#define rep(i,a,b) for(int i=(a);i<=(b);++i)
#define rrep(i,a,b) for(int i=(a);i>=(b);--i)
using namespace std;
const double pi=acos(-1.0);
const double eps=1e-8;
const int INF=0x3f3f3f3f;
const int MAXN=1e5+10;
const int mod=1e9+7;
signed main()
{
    std::ios::sync_with_stdio(false);
    int a,b,w;
    cin>>a>>b>>w;
    w*=1000;
    int minn=w/b;
    int maxx=w/a;
    int flag=1;
    int tmp=minn*b;
    if(w-tmp>minn*(b-a))
        flag=0;
    tmp=maxx*a;
    if(w-tmp>minn*(b-a))
        flag=0;
    if(flag)
    {
        if(minn*b!=w) minn++;
        cout<<minn<<" "<<maxx;
    }
    else
    {
        cout<<"UNSATISFIABLE";
    }
    return 0;
}

#include <bits/stdc++.h>
using namespace std;

#define REP(i, n) for(int i = 0; i < (int)(n); ++i)
#define FOR(i, a, b) for(int i = (int)(a); i <= (int)(b); ++i)
#define FORR(i, a, b) for(int i = (int)(a); i >= (int)(b); --i)
#define ALL(c) (c).begin(), (c).end()

using ll = long long;
using VI = vector<int>;
using VL = vector<ll>;
using VD = vector<double>;
using VII = vector<VI>;
using VLL = vector<VL>;
using VDD = vector<VD>;
using P = pair<int, int>;
using PL = pair<ll, ll>;

template <typename T>
bool chmax(T& a, const T& b) {
  if(a < b) {
    a = b;
    return true;
  }
  return false;
}
template <typename T>
bool chmin(T& a, const T& b) {
  if(a > b) {
    a = b;
    return true;
  }
  return false;
}

ll get_count(ll N, ll x, VL& sum_two) {
  ll count = 0;
  FOR(i, 1, N) {
    if(i >= x) break;
    count += sum_two[x - i];
  }
  return count;
}

void solve(long long N, long long K) {
  VL count_two(3 * N + 1, 0);
  VL sum_two(3 * N + 2, 0);
  FOR(i, 2, 3 * N) {
    count_two[i] = max(0ll, min(N, ll(i - 1)) - max(1ll, ll(i - N)) + 1ll);
  };
  FOR(i, 2, 3 * N) {
    sum_two[i + 1] += sum_two[i] + count_two[i];
  }
  ll ok = 0;
  ll ng = 3 * N + 1;
  while(abs(ok - ng) > 1) {
    ll mid = (ok + ng) / 2;
    if(get_count(N, mid, sum_two) < K) {
      ok = mid;
    } else {
      ng = mid;
    }
  }
  K -= get_count(N, ok, sum_two);
  ll x = 1, y = 1, z = 1;
  ll tmp_count = 0;
  FOR(i, 1, N) {
    if(tmp_count + count_two[ok - i] >= K) {
      K -= tmp_count;
      x = i;
      break;
    }
    tmp_count += count_two[ok - i];
  }
  tmp_count = 0;
  FOR(i, 1, N) {
    if(ok - x - i >= 1 && ok - x - i <= N) tmp_count++;
    if(tmp_count == K) {
      y = i;
      break;
    }
  }
  z = ok - x - y;
  cout << x << " " << y << " " << z << endl;
}

int main() {
  long long N;
  scanf("%lld", &N);
  long long K;
  scanf("%lld", &K);
  solve(N, K);
  return 0;
}
