//jiudge: 23888: 1686552841
#include<bits/stdc++.h>
#define IOS ios::sync_with_stdio(false);cin.tie(0);cout.tie(0);
#define ll long long
using namespace std;
const int N = 2e6 + 5;
set<int> s;
int n;
int a[N], b[N];
bool f;
void del(int x) {
for (int i = 2; i * i <= x; i ++) {
if (x % i == 0) {
for (int j = i; j < N; j += i) if (s.count(j)) s.erase(j);
while (x % i == 0) x /= i;
}
}
if (x > 1) for (int i = x; i < N; i += x) if (s.count(i)) s.erase(i);
}
int main() {
IOS
cin >> n;
for (int i = 1; i <= n; i ++) cin >> a[i];
for (int i = 2; i < N; i ++) s.insert(i);
for (int i = 1; i <= n; i ++) {
auto it = f ? s.begin() : s.lower_bound(a[i]);
if (*it > a[i]) f = 1; b[i] = *it; del(*it);
}
for (int i = 1; i <= n; i ++) cout << b[i] << ' ';
return 0;
}
987B - High School Become Human | 1223A - CME |
1658B - Marin and Anti-coprime Permutation | 14B - Young Photographer |
143A - Help Vasilisa the Wise 2 | 320A - Magic Numbers |
1658A - Marin and Photoshoot | 514A - Chewbaсca and Number |
382A - Ksenia and Pan Scales | 734B - Anton and Digits |
1080A - Petya and Origami | 1642D - Repetitions Decoding |
1440A - Buy the String | 1658F - Juju and Binary String |
478A - Initial Bet | 981A - Antipalindrome |
365A - Good Number | 1204B - Mislove Has Lost an Array |
1409D - Decrease the Sum of Digits | 1476E - Pattern Matching |
1107A - Digits Sequence Dividing | 1348A - Phoenix and Balance |
1343B - Balanced Array | 1186A - Vus the Cossack and a Contest |
1494A - ABC String | 1606A - AB Balance |
1658C - Shinju and the Lost Permutation | 1547C - Pair Programming |
550A - Two Substrings | 797B - Odd sum |