"use strict"
function main(arg) {
    var data = arg.trim().split("\n")
    var n = (data.shift()).split(' ')[0]
    var n_str = n
    n = Number(n)
    var _d = data[0].split(' ').map(Number).sort()
    var d = []
    for (var i = 0; i < 10; i++) {
        var j = 0
        for (j = 0; j < _d.length; j++) {
            if (i === _d[j]) break
        }
        
        if (j === _d.length) {
            d.push(i)
        }
    }
    // for (var i = 0; i < n_str.length; i++) {
    //     for (var j = 0; j < d.length; j++) {
    //         console.log()
    //     }
    //     console.log(n_str[i])
    // }
    for (var i = 0; ; i++) {
        var map = i.toString(d.length)
        if (map.length > n_str.length) {
            break
        }
        var map = pad(map, n_str.length)
        map = map.split('').map(Number)
        var row = ""
        for (var j = 0; j < map.length; j++) {
            var k = map[j]
            row += d[k]
        }
        row = Number(row)
        if (row >= n) {
            console.log(row)
            return
        }
    }
}
main(require('fs').readFileSync('/dev/stdin', 'utf8'));


function pad(num, length) {
    var str='0'
    return (new Array(length).fill(str).join('') + num).slice(-length);
}