|
| 1 | +#include<bits/stdc++.h> |
| 2 | +#define int long long |
| 3 | +#define pb emplace_back |
| 4 | +#define mp make_pair |
| 5 | +#define mt make_tuple |
| 6 | +#define all(v) v.begin(),v.end() |
| 7 | +#define rep(i,start,lim) for(long long (i)=(start);i<(lim);i++) |
| 8 | +#define revrep(i,n) for(long long i=n-1;i>=0;i--) |
| 9 | +#define boost ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0) |
| 10 | +#define osit ostream_iterator<int> output (cout," ") |
| 11 | +#define endl '\n' |
| 12 | +#define f first |
| 13 | +#define s second |
| 14 | +#define PI 3.141592653589793 |
| 15 | +#define MOD 1000000007 |
| 16 | +#define set0(x) memset(x,0,sizeof(x)) |
| 17 | +#define set1(x) memset(x,1,sizeof(x)) |
| 18 | +using namespace std; |
| 19 | +typedef vector<int> vi; |
| 20 | +typedef list<int> li; |
| 21 | +typedef pair<int,int> ii; |
| 22 | +typedef vector<ii> vii; |
| 23 | +typedef tuple<int, int, int> iii; |
| 24 | +template<typename T> T gcd(T a,T b){if(a==0) return b; return gcd(b%a,a);} |
| 25 | +template<typename P> P dectobin(P a){if(a==0)return 0; else return(a%2 + 10*dectobin(a/2));} |
| 26 | +template<typename Y> Y bintodec(Y a){int ans=0,b=1,t=a; while (t){int ld=t%10; t/=10;ans+=ld* b;b=b*2;} return ans; } |
| 27 | +template<typename H> H modExp(H x, H n){ int r=1; while(n>0){if(n%2==1){r=(r*x)%MOD;}x=(x*x)%MOD;n/=2;}return r;} |
| 28 | +template<typename T> T isPowerOfTwo(T x){return x && (!(x & (x - 1)));} |
| 29 | +template<typename T> T lcm(T a,T b) {return a*b/gcd(a,b);} |
| 30 | +//template<typename T> T extendedEuclid(T A,T B){if(B==0){d=A; x=1;y=0;}else{ extendedEuclid(B,A%B);int temp=x; x=y; y=temp-(A |
| 31 | +//B)*y;}} |
| 32 | +int32_t main(){ |
| 33 | + boost;osit; |
| 34 | + int t; |
| 35 | + cin>>t; |
| 36 | + while(t--){ |
| 37 | + int n; |
| 38 | + cin>>n; |
| 39 | + bool ok=false; |
| 40 | + if(n%3==0) cout<<n/3<<" "<<0<<" "<<0<<endl; |
| 41 | + else if(n%5==0) cout<<0<<" "<<n/5<<" "<<0<<endl; |
| 42 | + else if(n%7==0) cout<<0<<" "<<0<<" "<<n/7<<endl; |
| 43 | + else{ |
| 44 | + for(int i=1;i<=n/3;i++){ |
| 45 | + for(int j=1;j<=(n-3*i)/5;j++){ |
| 46 | + int k=n-(3*i+5*j); |
| 47 | + if(k%7==0){ |
| 48 | + cout<<i<<" "<<j<<" "<<k/7<<endl; |
| 49 | + ok=true; |
| 50 | + break; |
| 51 | + } |
| 52 | + } |
| 53 | + if(ok) break; |
| 54 | + } |
| 55 | + if(ok==false) cout<<-1<<endl; |
| 56 | + } |
| 57 | + } |
| 58 | + return 0; |
| 59 | +} |
0 commit comments