//
// main.c
// BESTBATS
//
// Created by Dhruv Mullick on 01/02/14.
// Copyright (c) 2014 Dhruv Mullick. All rights reserved.
//
#include <stdio.h>
void mrg(int*A,int*B,int low, int mid, int high)
{
int i, i0, i1;
i0 = low;
i1 = mid;
for(i=low;i<high;i++)
{
if(i0<mid && (i1>=high || A[i0]<A[i1]))
{
B[i] = A[i0];
i0++;
}
else
{
B[i] = A[i1];
i1++;
}
}
}
void mgsort(int*A, int*B, int low, int high)
{
int i;
int mid = (low+high)/2;
if((high-low)==1)
return;
mgsort(A,B,low,mid);
mgsort(A,B,mid,high);
mrg(A,B,low,mid,high);
for(i=low;i<high;i++)
A[i] = B[i];
}
void mrgesort(int*A, int n)
{
int B[11];
mgsort(A, B,0,n);
}
int fact(int x)
{
int f=1;
int i;
for(i=x;i>=1;i--)
f = f*i;
return f;
}
int main(void)
{
int t,A[11],i,k,f;
while(t--)
{
f=0;
for(i=0;i<11;i++)
mrgesort(A,11);
int c=1,a=1;
if(A[11-k]==A[10-k])
f=1;
if(f==1)
{
for(i=11-k;i<10;i++)
{
if(A[i]==A[i+1])
{
c++;
a++;
}
else
break;
}
c++;
for(i=10-k;i>0;i--)
{
if(A[i]==A[i-1])
c++;
else
break;
}
t = (int)(fact(c)/(float)(fact(c-a) * fact(a)));
}
}
return 0;
}
Ly8KLy8gIG1haW4uYwovLyAgQkVTVEJBVFMKLy8KLy8gIENyZWF0ZWQgYnkgRGhydXYgTXVsbGljayBvbiAwMS8wMi8xNC4KLy8gIENvcHlyaWdodCAoYykgMjAxNCBEaHJ1diBNdWxsaWNrLiBBbGwgcmlnaHRzIHJlc2VydmVkLgovLwoKI2luY2x1ZGUgPHN0ZGlvLmg+Cgp2b2lkIG1yZyhpbnQqQSxpbnQqQixpbnQgbG93LCBpbnQgbWlkLCBpbnQgaGlnaCkKewogICAgaW50IGksIGkwLCBpMTsKICAgIGkwID0gbG93OwogICAgaTEgPSBtaWQ7CiAgICAKICAgIGZvcihpPWxvdztpPGhpZ2g7aSsrKQogICAgewogICAgICAgIGlmKGkwPG1pZCAmJiAoaTE+PWhpZ2ggfHwgQVtpMF08QVtpMV0pKQogICAgICAgIHsKICAgICAgICAgICAgQltpXSA9IEFbaTBdOwogICAgICAgICAgICBpMCsrOwogICAgICAgIH0KICAgICAgICBlbHNlCiAgICAgICAgewogICAgICAgICAgICBCW2ldID0gQVtpMV07CiAgICAgICAgICAgIGkxKys7CiAgICAgICAgfQogICAgfQogICAgCn0KCnZvaWQgbWdzb3J0KGludCpBLCBpbnQqQiwgaW50IGxvdywgaW50IGhpZ2gpCnsKICAgIGludCBpOwogICAgaW50IG1pZCA9IChsb3craGlnaCkvMjsKICAgIAogICAgaWYoKGhpZ2gtbG93KT09MSkKICAgICAgICByZXR1cm47CiAgICBtZ3NvcnQoQSxCLGxvdyxtaWQpOwogICAgbWdzb3J0KEEsQixtaWQsaGlnaCk7CiAgICBtcmcoQSxCLGxvdyxtaWQsaGlnaCk7CiAgICAKICAgIGZvcihpPWxvdztpPGhpZ2g7aSsrKQogICAgICAgIEFbaV0gPSBCW2ldOwp9CgoKdm9pZCBtcmdlc29ydChpbnQqQSwgaW50IG4pCnsKICAgIGludCBCWzExXTsKICAgIAogICAgbWdzb3J0KEEsIEIsMCxuKTsKfQoKaW50IGZhY3QoaW50IHgpCnsKICAgIGludCBmPTE7CiAgICBpbnQgaTsKICAgIAogICAgZm9yKGk9eDtpPj0xO2ktLSkKICAgICAgICBmID0gZippOwogICAgCiAgICByZXR1cm4gZjsKfQoKaW50IG1haW4odm9pZCkKewogICAgaW50IHQsQVsxMV0saSxrLGY7CiAgICBzY2FuZigiJWQiLCAmdCk7CiAgICAKICAgIHdoaWxlKHQtLSkKICAgIHsKICAgICAgICBmPTA7CiAgICAgICAgCiAgICAgICAgZm9yKGk9MDtpPDExO2krKykKICAgICAgICAgICAgc2NhbmYoIiVkIiwgJkFbaV0pOwogICAgICAgIAogICAgICAgIHNjYW5mKCIlZCIsJmspOwogICAgICAgIAogICAgICAgIG1yZ2Vzb3J0KEEsMTEpOwogICAgICAgIAogICAgICAgIGludCBjPTEsYT0xOwogICAgICAgIAogICAgICAgIGlmKEFbMTEta109PUFbMTAta10pCiAgICAgICAgICAgIGY9MTsKICAgICAgICAKICAgICAgICBpZihmPT0xKQogICAgICAgIHsKICAgICAgICAgICAgZm9yKGk9MTEtaztpPDEwO2krKykKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWYoQVtpXT09QVtpKzFdKQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIGMrKzsKICAgICAgICAgICAgICAgICAgICBhKys7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICBlbHNlCiAgICAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgCiAgICAgICAgICAgIGMrKzsKICAgICAgICAgICAgCiAgICAgICAgICAgIGZvcihpPTEwLWs7aT4wO2ktLSkKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWYoQVtpXT09QVtpLTFdKQogICAgICAgICAgICAgICAgICAgIGMrKzsKICAgICAgICAgICAgICAgIGVsc2UKICAgICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgfQogICAgICAgICAgICAKICAgICAgICAgICAgdCA9IChpbnQpKGZhY3QoYykvKGZsb2F0KShmYWN0KGMtYSkgKiBmYWN0KGEpKSk7CiAgICAgICAgICAgIAogICAgICAgICAgICBwcmludGYoIiVkXG4iLHQpOwogICAgICAgIH0KICAgICAgICAKICAgICAgICBlbHNlIHByaW50ZigiMVxuIik7CiAgICB9CiAgICAKICAgIHJldHVybiAwOwp9Cgo=