#include <iostream>
using namespace std;
int maxof(int a[], int m)
{
int x = a[0];
for (int i = 1; i < m; i++)
if (x < a[i])
x = a[i];
return x;
}
int maxind(int a[], int m)
{
int x = maxof(a,m);
int n = 0;
while (a[n] != x)
n++;
return n;
}
int maxcost(int a[], int n, int m)
{
int x = 0;
for (int i = 0; i < n; i++) {
for (int j = 0; j < m; j++)
cout << a[j] << " ";
cout << endl;
x += maxof(a,m);
a[maxind(a,m)]--;
}
return x;
}
int main()
{
int n,m;
cin >> n >> m;
int a[m];
for (int i = 0; i < m; i++)
cin >> a[i];
/*
for (int i = 0; i < m; i++)
cout << a[i] << " ";
cout << endl;
*/
cout << maxcost(a,n,m);// << " " << mincost(a,n,m);
}
I2luY2x1ZGUgPGlvc3RyZWFtPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKaW50IG1heG9mKGludCBhW10sIGludCBtKQp7CiAgaW50IHggPSBhWzBdOwogIGZvciAoaW50IGkgPSAxOyBpIDwgbTsgaSsrKQogICAgaWYgKHggPCBhW2ldKQogICAgICB4ID0gYVtpXTsKICByZXR1cm4geDsKfQoKaW50IG1heGluZChpbnQgYVtdLCBpbnQgbSkKewogIGludCB4ID0gbWF4b2YoYSxtKTsKICBpbnQgbiA9IDA7CiAgd2hpbGUgKGFbbl0gIT0geCkKICAgIG4rKzsKICByZXR1cm4gbjsKfQoKaW50IG1heGNvc3QoaW50IGFbXSwgaW50IG4sIGludCBtKQp7CiAgaW50IHggPSAwOwogIGZvciAoaW50IGkgPSAwOyBpIDwgbjsgaSsrKSB7CiAgICBmb3IgKGludCBqID0gMDsgaiA8IG07IGorKykKICAgICAgY291dCA8PCBhW2pdIDw8ICIgIjsKICAgIGNvdXQgPDwgZW5kbDsKICAgIHggKz0gbWF4b2YoYSxtKTsKICAgIGFbbWF4aW5kKGEsbSldLS07CiAgfQogIHJldHVybiB4Owp9CgppbnQgbWFpbigpCnsKICBpbnQgbixtOwogIGNpbiA+PiBuID4+IG07CiAgaW50IGFbbV07CiAgZm9yIChpbnQgaSA9IDA7IGkgPCBtOyBpKyspCiAgICBjaW4gPj4gYVtpXTsKICAvKgogIGZvciAoaW50IGkgPSAwOyBpIDwgbTsgaSsrKQogICAgY291dCA8PCBhW2ldIDw8ICIgIjsKICBjb3V0IDw8IGVuZGw7CiAgKi8KICBjb3V0IDw8IG1heGNvc3QoYSxuLG0pOy8vIDw8ICIgIiA8PCBtaW5jb3N0KGEsbixtKTsKfQ==