#include <iostream> #include <stdio.h> #include <algorithm> #include <string.h> using namespace std; int dp[20]; const int inf=0x7fffffff; int a[7]={2,1,3,4,8,5,9}; const int maxn=500005; int main() { fill(dp,dp+7,inf); for(int i=0;i<7;i++) { *lower_bound(dp,dp+7,a[i])=a[i]; } int len=lower_bound(dp,dp+7,inf)-dp; for(int i=0;i<len;i++) cout<<dp[i]<<endl; return 0; }