#!/usr/bin/python3 # najde v neklesajicim poli takovy index i, ze pole[i] < x <= pole[i+1] def hledej(pole, x): l = 0 p = len(pole) - 2 while l < p: i = (l+p)//2 if pole[i] >= x: p = i - 1 elif x > pole[i+1]: l = i + 1 else: return i assert l == p return l c = [] for n in input().split(" "): c.append(int(n)) N = len(c) INF = 999999 m = [-1] + N * [INF] z = (N+1) * [None] for k in range(N): i = hledej(m, c[k]) m[i+1] = c[k] z[i] = k for i in z: if i is None: break print(i, end=" ") print()