// Задача "Ровные числа"
// Пятая личная Интернет-олимпиада сезона 2010-2011
// Автор задачи: Владимир Ульянцев, ulyantsev@rain.ifmo.ru
// Автор решения: Владимир Ульянцев, ulyantsev@rain.ifmo.ru

const
    MAXN = 100;
type
    int = longint;
var
    ans, first, last, n, i, j, t : int;
    z : array [1..MAXN] of int;
    flag : boolean;
begin
    reset(input, 'smooth.in');
    rewrite(output, 'smooth.out');

    read(n);
    assert((1 <= n) and (n <= MAXN));

    if (n > 8) then begin
        writeln(-1);
        halt;
    end;
    
    first := 1;
    for i := 1 to n - 1 do begin
        first := first * 10;
    end;
    last := first * 10 - 1;

    ans := -1;
    for i := last downto first do begin
        t := i;
        for j := 1 to n do begin
            z[j] := t mod 10;
            t := t div 10;
        end;

        flag := true;
        for j := 2 to n - 1 do begin
            if (2 * z[j] >= z[j - 1] + z[j + 1]) then begin
                flag := false;
            end;
        end;

        if flag then begin
            ans := i;
            break;
        end;
    end;
    
    writeln(ans); 
end.
