#include #include #include #define rep(E, F) for (E = 0; E < (F); E++) typedef int ll; ll get_int(); ll _len(ll a) { return a == 0 ? 0 : (_len(a/10) + 1); } ll len(ll a) { return a == 0 ? 1 : _len(a); } ll foo(ll x, ll y, ll z) { if (len(x) == 1 && z == 0) return 0; ll e = 10, r; while (y-- != 0) e *= 10; r = x - (x%e)/(e/10)*(e/10) + z*(e/10); return len(r) == len(x) ? r : -1; } int main() { ll x, i, j, k, n = get_int(); ll a[n]; rep(i, n) a[i] = get_int(); rep(i, n) rep(j, len(a[i])) rep(k, 10) { if ((x = foo(a[i], j, k)) == -1) continue; if (i != 0 && a[i - 1] > x || i != n - 1 && a[i + 1] < x) { a[i] = x; rep(i, n) printf("%d ", a[i]); printf("\n"); return 0; } } printf("impossible\n"); return 0; } ll get_int() { ll r = 0, c = getchar(); if (c == '-') return -get_int(); if (c < '0' || c > '9') return get_int(); for (; c >= '0' && c <= '9'; c = getchar()) r = r*10 + c - '0'; return r; }