#include<bits/stdc++.h>
using namespace std;
char in[100], out[100];

int A[25];
int n, k, ans,m;
void f(int c, int v, int t){
	if(c==n){
		if(v%k==0 and t==k) ans++;
		return;
	}
	f(c+1,v+A[c], t+1);
	f(c+1,v, t);
}
int main(){
	int i;
	for(int I=21;I<=30;I++){
		ans = 0;
		sprintf(in,".%d.in",I);
	    freopen(in,"w",stdout);
	    n = 20;
	    k = rand()%n+1;
		//scanf("%d %d", &n, &k);
		printf("%d %d\n",n, k);
		for(i=0;i<n;i++){
			A[i] = rand()%100+1;
			//scanf("%d", A+i);
			printf("%d", A[i]);
			if(i==n-1) printf("\n");
			else printf(" ");
		} 
		f(0,0,0);
		
		sprintf(in,".%d.out",I);
	    freopen(in,"w",stdout);
	    
		printf("%d", ans);
	}
}
