Submission

Status:

[-SSSSSSSSSSSSSS]

Subtask/Task Score:

{0/100}

Score: 0

User: krittaphot

Problemset: laracroft

Language: cpp

Time: 0.002 second

Submitted On: 2026-03-06 20:11:58

#include <bits/stdc++.h>

using namespace std;

vector<long long> valid(vector<long long> &v){
	vector<long long> res;
	long long plus = v[0];
	long long minus = v[1];
	long long multiply = v[2];
	long long divide = v[3];
	long long mod = v[4];
	long long a = (plus+minus)/2;
	long long b = plus - a;
	if(a <= b || b <= 0) return res;
	if((plus+minus) % 2 != 0) return res;
	if(a*b == multiply && a/b == divide && a%b == mod){
		res.push_back(a);
		res.push_back(b);
		return res;
	}
	else{
		return res;
	}
}
void solve(vector<long long> &val,vector<long long> &use,vector<long long> &ans,vector<long long> &found){
	if(ans.size() == 5){
		vector<long long> res = valid(ans);
		if(res.size() != 0){
			if(found.empty()){
                found = res;
            } else if(found != res){
                found = {0, 0};  
            }
		}

	}
	else{
		for(long long i = 0;i<5;i++){
			if(!use[i]){
				ans.push_back(val[i]);
				use[i] = true;
				solve(val,use,ans,found);
				ans.pop_back();
				use[i] = false;
			}
		}		
	}

}
int main()
{
	long long n;
	cin >> n;
	while(n--){
		vector<long long> val(5);
		for(long long i = 0;i<5;i++){
			cin >> val[i];
		}
		vector<long long> use(5,false);
		vector<long long> ans;
		vector<long long> found;
		solve(val,use,ans,found);
		if(found.size() == 0){
			cout << "0 0\n";
		}
		else{
			for(auto x : found){
				cout << x << " ";
			}
			cout  << "\n";
		}
	}
}