#include #define NEKON 10000000 long int badness(int zac,int kon,int delka,int *slova2){ long int pom,roz,dlhsi,pismen,slov; int beh; slov=kon-zac+1; pismen=0; if (zac==0){pismen=slova2[kon];} else {pismen=slova2[kon]-slova2[zac-1];} if (pismen+slov-1>delka){ pom=NEKON; }else{ if (slov<=1){if (pismen==delka){pom=0;}else{pom=500;} }else{ roz=(delka-pismen)/(slov-1); dlhsi=(delka-pismen)%(slov-1); pom=(roz-1)*(roz-1)*(slov-dlhsi-1)+(roz)*(roz)*dlhsi; } } return pom; } int main() { char radka[102]; int slova[10002]; long pole[10002],a,b,c,d,e,f,i,j; scanf("%d",&a); while (a){ b=-1; gets(radka);gets(radka); while (radka[0]){ c=0; for (i=0;radka[i];i++){ if ((radka[i]>32)&&(radka[i]<127)) { c++; }else{ if (c){b++;slova[b]=c;c=0;} } } if (c){b++;slova[b]=c;c=0;} gets(radka); } for (i=1;i<=b;i++){ slova[i]+=slova[i-1]; } for(i=0;i<=b;i++){ pole[i]=badness(0,i,a,slova); } d=0; if (b!=-1){ while(pole[b]>=NEKON){ for(i=b;i>d;i--){ for(j=i-1;j>=d;j--){ if (badness(j+1,i,a,slova)==NEKON){break;}; if ((badness(j+1,i,a,slova)+pole[j])