#include using namespace std; typedef long long ll; #define rep(i, a, b) for(int i = a; i < (b); ++i) #define trav(a, x) for(auto& a : x) #define all(x) x.begin(), x.end() #define sz(x) (int)(x).size() typedef long long ll; typedef pair pii; typedef pair pll; typedef vector vi; typedef vector vl; bool sorted(vl &A){ rep(c1,0,sz(A)-1){ if(A[c1] > A[c1+1])return 0; } return 1; } int main() { int n; cin >> n; vl A(n); rep(c1,0,n){ cin >> A[c1]; } rep(c1,0,n){ ll t = 1; while(t <= A[c1] || (t == 1 && A[c1] == 0)){ rep(d,0,10){ if(10*t > A[c1] && d == 0 && t > 1)continue; ll a = (A[c1]/t - (A[c1]/t)%10 + d) * t + A[c1]%t; ll b = A[c1]; A[c1] = a; if(!sorted(A)){ rep(c2,0,n){ cout << A[c2] << "\n"; } return 0; } A[c1] = b; } t *= 10; } } cout << "impossible\n"; return 0; }