Atenţie! Aceasta este o versiune veche a paginii, scrisă la 2020-05-29 17:33:40.
Revizia anterioară   Revizia următoare  
#include <iostream>
#include <vector>
#include <string>

using namespace std;

int query(string A, string B);
void answer(vector<int> perm);

// De aici in sus nu ar trebui sa modifici nimic

std::vector<int> find_permutation(int N) {
	vector<int> perm;
	for(int i = 1; i <= N; ++i)
		perm.push_back(i);
	
	return perm;
}

// De aici in jos nu ar trebui sa modifici nimic

int query(string A, string B) {
	int val;
	cout << "? " << A << " " << B << endl;

	cin >> val;
	if(val == -1)
		exit(0);
	return val;
}

void answer(vector<int> perm) {
	cout << "! ";
	for(auto it: perm)
		cout << it << " ";
	cout << endl;
}

int main() {
	int T;

	cin >> T;
	
	while(T--) {
		int N;
		cin >> N;
		vector<int> perm = find_permutation(N);
		answer(perm);
	}

	return 0;
}