#include <stdio.h>
void quicksort(int *arr,int start ,int end)
{
int i, j,key;
key = arr[(start + end)/2];
i = start;
j = end;
do
{
while( arr[i] < key )
i++;
while(arr[j] > key)
j--;
if(i<=j)
{
int temp = arr[i];
arr[i] = arr[j];
arr[j] = temp;
i++;
j--;
}
}while(i<=j);
if(start < j)
quicksort(arr,start,j);
if(i<end)
quicksort(arr,i,end);
}
int main()
{
int N,L[2001],W,i,j,k;
while(N!=0)
{
for(i=1;i<=N;i++)
quicksort(L,1,N);
W=0;
for(i=N;i>=3;i--)
{
j=1;
k=i-1;
while(j<k)
if(L[j]+L[k]<L[i])
{
W+=k-j;
j++;
}
else
k--;
}
}
return 0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+Cgp2b2lkIHF1aWNrc29ydChpbnQgKmFycixpbnQgc3RhcnQgLGludCBlbmQpCnsKIGludCBpLCBqLGtleTsKIGtleSA9IGFyclsoc3RhcnQgKyBlbmQpLzJdOwogaSA9IHN0YXJ0OwogaiA9IGVuZDsKIGRvCiB7CiAgd2hpbGUoIGFycltpXSA8IGtleSApCiAgIGkrKzsKICB3aGlsZShhcnJbal0gPiBrZXkpCiAgIGotLTsKICBpZihpPD1qKQogIHsKICAgaW50IHRlbXAgPSBhcnJbaV07CiAgIGFycltpXSA9IGFycltqXTsKICAgYXJyW2pdID0gdGVtcDsKICAgaSsrOwogICBqLS07CiAgfQogfXdoaWxlKGk8PWopOwogaWYoc3RhcnQgPCBqKQogIHF1aWNrc29ydChhcnIsc3RhcnQsaik7CiBpZihpPGVuZCkKICBxdWlja3NvcnQoYXJyLGksZW5kKTsKfQogCmludCBtYWluKCkKewogaW50IE4sTFsyMDAxXSxXLGksaixrOwogc2NhbmYoIiVkIiwmTik7CiB3aGlsZShOIT0wKQogewogIGZvcihpPTE7aTw9TjtpKyspCiAgIHNjYW5mKCIlZCIsJkxbaV0pOwogIHF1aWNrc29ydChMLDEsTik7CiAgVz0wOwogIGZvcihpPU47aT49MztpLS0pCiAgewogICBqPTE7CiAgIGs9aS0xOwogICB3aGlsZShqPGspCiAgICBpZihMW2pdK0xba108TFtpXSkKICAgIHsKICAgICBXKz1rLWo7IAogICAgIGorKzsKICAgIH0KICAgIGVsc2UKICAgICBrLS07CiAgIH0KICBwcmludGYoIiVkXG4iLFcpOwogfQogcmV0dXJuIDA7Cn0KICA=