#pragma GCC optimize(1)
#pragma GCC optimize(2)
#pragma GCC optimize(3,"Ofast","inline")
#include<bits/stdc++.h>
using namespace std;
const static void fast_io() {//
ios_base::sync_with_stdio(false);
cin.tie(0);
cout.tie(0);
}
#define LF(x) fixed<<setprecision(x)
#define endl '\n'
#define all(x) x.begin(),x.end()
#define vi vector<int>
#define int long long
using ll = long long;
using db = double;
using pii = pair<int, int>;
void solve() {
int n;
cin >> n;
// 如果是 奇数 就比较好办
if (n % 2) cout << n / 2 << ' ' << n / 2 + 1 << "\n";
else {
int k = n / 2;
int i = k, j = k;
// 如果是 偶数的话 就需要考虑 他们的最大公约数了 最好保证最大公约数==1 不然 就会有2这个因子
// 为了保证 gcd = 1 在外面一层加个 循环 防止出现 25 25 -》 但实际上 最理想的情况是 23 27
while (i >= 1 && j < n) {
if (__gcd(i, j) == 1) {
cout << i << ' ' << j << "\n";
return ;
} else {
i--;
j++;
}
}
}
}
signed main() {
fast_io();
int T = 1;
cin >> T;
while (T--) solve();
return 0;
}