This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include <bits/stdc++.h>
using namespace std;
const int N = 2e5+10;
#define ll long long
int main() {
	int t;
	cin >> t;
	auto is_good = [&](ll x, ll g, ll h) {
		if(x <= max(g, h)) return false;
		if(x % g == 0) {
			while(x >= h) {
				x /= h;
			}
			return x == 1;
		} else {
			return false;
		}
	};
	while(t--) {
		ll g, h, p = 1;
		cin >> g >> h; 
		while(!is_good(p + (g - p % g) % g, g, h)) {
			p *= h; 
		}
		ll x = p + (g - p % g) % g;
		ll y = h * x + g;
		cout << x << ' ' << y << '\n';
	}
}
| # | Verdict | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict | Execution time | Memory | Grader output | 
|---|
| Fetching results... |