#include <bits/stdc++.h>
using namespace std;
typedef long long ll;

int main()
{
    ll t;
    // cin>>t;
    t=1;
    while (t--)
    {
        ll n=5;
        vector <ll> v(n);
        for (ll i=0;i<n;i++)
        {
            v[i]=i+1;
        }
        ll ans=LLONG_MIN;
        map <vector <ll>,ll> m;
        do 
        {
            ll sum=0;
            for (ll i=0;i<n;i++)
            {
                for (ll j=i;j<n;j++)
                {
                    ll mini=LLONG_MAX;
                    for (ll k=i;k<=j;k++)
                    {
                        mini=min(mini,v[k]);
                    }
                    sum+=mini;
                    // cout<<sum<<"\n";
                }
            }
            m[v]=sum;
            if (sum>=ans)
            {
                ans=sum;
            }
        } while (next_permutation(v.begin(),v.end()));
        // cout<<"\n";
        ll counter=1;
        cout<<ans<<"\n";
        for (auto elem:m)
        {
            if (elem.second==ans)
            {
                cout<<counter<<"-> ";
                for (auto entry:elem.first)
                {
                    cout<<entry<<" ";
                }
                counter++;
                cout<<"\n";
            }
        }
    }
    return 0;
}