#include<bits/stdc++.h>
using namespace std;
long long ans;
int ttm=0;int tmt;
int visit[35];
int aa[35];
int t[35];
void k(){
for(int i=0;i<=34;i++) visit[i]=aa[i]=0;
}
int mm(int a,int j){
for(int i=1;i<=tmt;i++){
if(a==t[i]&&j!=i)return 1;
}
return 0;
}
void dfs(int dep,int sum){
if(dep==sum+1){
for(int i=1;i<=dep-1;i++){
cout<<" "<<aa[i];
}
cout<<endl;
for(int i=1;i<=dep-1;i++){
ans+=aa[i];
}
return;
}
for(int i=1;i<=tmt;i++){
if(!visit[i]&&!mm(aa[i],i)){
visit[i]=1;
aa[dep]=t[i];
dfs(dep+1,sum);
visit[i]=0;
}
}
}
int main(){
int a;
while(scanf("%d",&a)==1){
t[++ttm]=a;ans+=a;
}
tmt=ttm;
for(int i=2;i<=ttm;i++){
k();
dfs(1,i);
}
cout<<ans;
return 0;
}
感觉dfs写错了