#include <iostream>
using namespace std;
int main() {
int n;
cin>>n;
int a[n];
for(int i=0; i<n; i++){
cin>>a[i];
}
int s;
cin>>s;
int dp[s+1]={0,};
for(int i=0; i<n; i++){
for(int j=a[i]+1; j<=s; j++){
if(dp[j-a[i]]>0 or j==a[i]){
if(dp[j]>dp[j-a[i]]+1 or dp[j]==0)
dp[j]=dp[j-a[i]]+1;
}
}
}
if(dp[s]==0){
cout<<"No solution"<<endl;
return 0;
}
while(dp[s]>0){
for (int i=0; i<n; i++){
if(s-a[i]>=0 and dp[s]==dp[s-a[i]]+1){
cout<<a[i]<<" ";
s-=a[i];
break;
}
}
}
}
I2luY2x1ZGUgPGlvc3RyZWFtPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKaW50IG1haW4oKSB7CglpbnQgbjsKCWNpbj4+bjsKCWludCBhW25dOwoJZm9yKGludCBpPTA7IGk8bjsgaSsrKXsKCQljaW4+PmFbaV07Cgl9CglpbnQgczsKCWNpbj4+czsKCWludCBkcFtzKzFdPXswLH07Cglmb3IoaW50IGk9MDsgaTxuOyBpKyspewoJCWZvcihpbnQgaj1hW2ldKzE7IGo8PXM7IGorKyl7CgkJCWlmKGRwW2otYVtpXV0+MCBvciBqPT1hW2ldKXsKCQkJCWlmKGRwW2pdPmRwW2otYVtpXV0rMSBvciBkcFtqXT09MCkKCQkJCQlkcFtqXT1kcFtqLWFbaV1dKzE7CgkJCQkJCgkJCX0KCQl9Cgl9CglpZihkcFtzXT09MCl7CgkJY291dDw8Ik5vIHNvbHV0aW9uIjw8ZW5kbDsKCXJldHVybiAwOwoJfQoJd2hpbGUoZHBbc10+MCl7CgkJZm9yIChpbnQgaT0wOyBpPG47IGkrKyl7CgkJCWlmKHMtYVtpXT49MCBhbmQgZHBbc109PWRwW3MtYVtpXV0rMSl7CgkJCQljb3V0PDxhW2ldPDwiICI7CgkJCQlzLT1hW2ldOwoJCQkJYnJlYWs7CgkJCX0KCQl9Cgl9Cn0=