bool my_compare(VI& A, VI& B){
if(A==B)return false;
ll sumA = SUM(A);
ll sumB = SUM(B);
if(sumA>sumB)return true;
if(sumA<sumB)return false;
for(int i=9; i>=1; i--){
if(A[i]>B[i])return true;
if(A[i]<B[i])return false;
}
return false;
}
int main(){
cin.tie(0);
ios::sync_with_stdio(false);
ll N;cin>>N;
VV dp(1000000+5, VI(10));
VI C(10);
rep(i,9){
cin>>C[i+1];
}
rep(i,N){
FOR(j,1,10){
if(i+C[j]>N)continue;
ll to = i+C[j];
VI candidate = dp[i];
candidate[j]++;
if(my_compare(candidate, dp[to])){
dp[to] = candidate;
}
}
}
VI ma = dp[0];
rep(i,N){
if(my_compare(dp[i+1],dp[i])){
ma = dp[i+1];
}
}
stringstream ss;
for(int i=9; i>=1; i--){
rep(j,ma[i]){
ss << i;
}
}
p(ss.str());
return 0;
}