#include<stdio.h>
int actual,arr[102],n,b,sys[102],te[102][102],process[102];
int get(int *count,int *batch,int counter)
{
int i,ans=0;
if(counter==b)
{
for(i=0;i<n;i++)
{
if(count[i]==0)
{
ans+=arr[i];
}
}
for(i=0;i<b;i++)
{
if(batch[i]==1)
ans+=process[i];
}
return ans;
}
//int max2;
batch[counter]=1;
for(i=0;i<sys[counter];i++)
{
count[te[counter][i]-1]++;
}
int max2=get(count,batch,counter+1);
//printf("%d\n",max2);
if(max2>actual)
return max2;
batch[counter]=0;
for(i=0;i<sys[counter];i++)
{
count[te[counter][i]-1]--;
}
int max1=get(count,batch,counter+1);
//printf("%d\n",max1);
return max1>max2?max1:max2;
}
int main()
{
int i,j,val,ans,temp,count[102];
int batch[102];
//map<vector<int>,int > batch;
//map<vector<int>,int >::iterator it;
for(i=0;i<n;i++)
{
arr[i]=val;
actual+=val;
}
for(i=0;i<n;i++)
{
count[i]=0;
}
for(i=0;i<b;i++)
{
batch[i]=0;
}
for(i=0;i<b;i++)
{
sys[i]=val;
for(j=0;j<sys[i];j++)
{
te[i][j]=temp;
}
process[i]=temp;
}
ans=get(count,batch,0);
//cout << "Hello World!" << endl;
return 0;
}
I2luY2x1ZGU8c3RkaW8uaD4KCmludCBhY3R1YWwsYXJyWzEwMl0sbixiLHN5c1sxMDJdLHRlWzEwMl1bMTAyXSxwcm9jZXNzWzEwMl07CmludCBnZXQoaW50ICpjb3VudCxpbnQgKmJhdGNoLGludCBjb3VudGVyKQp7CglpbnQgaSxhbnM9MDsKCWlmKGNvdW50ZXI9PWIpCgl7CgkJZm9yKGk9MDtpPG47aSsrKQoJCXsKCQkJaWYoY291bnRbaV09PTApCgkJCXsKCQkJCWFucys9YXJyW2ldOwoJCQl9CgkJfQoJCWZvcihpPTA7aTxiO2krKykKCQl7CgkJCWlmKGJhdGNoW2ldPT0xKQoJCQkJYW5zKz1wcm9jZXNzW2ldOwoJCX0KCQlyZXR1cm4gYW5zOwoJfQoJCgkvL2ludCBtYXgyOwoJYmF0Y2hbY291bnRlcl09MTsKCWZvcihpPTA7aTxzeXNbY291bnRlcl07aSsrKQoJewoJCWNvdW50W3RlW2NvdW50ZXJdW2ldLTFdKys7Cgl9CglpbnQgbWF4Mj1nZXQoY291bnQsYmF0Y2gsY291bnRlcisxKTsKCS8vcHJpbnRmKCIlZFxuIixtYXgyKTsKCWlmKG1heDI+YWN0dWFsKQoJCXJldHVybiBtYXgyOwoJYmF0Y2hbY291bnRlcl09MDsKCWZvcihpPTA7aTxzeXNbY291bnRlcl07aSsrKQoJewoJCWNvdW50W3RlW2NvdW50ZXJdW2ldLTFdLS07Cgl9CglpbnQgbWF4MT1nZXQoY291bnQsYmF0Y2gsY291bnRlcisxKTsKCS8vcHJpbnRmKCIlZFxuIixtYXgxKTsKCXJldHVybiBtYXgxPm1heDI/bWF4MTptYXgyOwp9CmludCBtYWluKCkKewoJaW50IGksaix2YWwsYW5zLHRlbXAsY291bnRbMTAyXTsKCWludCBiYXRjaFsxMDJdOwoJLy9tYXA8dmVjdG9yPGludD4saW50ID4gYmF0Y2g7CgkvL21hcDx2ZWN0b3I8aW50PixpbnQgPjo6aXRlcmF0b3IgaXQ7CglzY2FuZigiJWQiLCZuKTsKCWZvcihpPTA7aTxuO2krKykKCXsKCQlzY2FuZigiJWQiLCZ2YWwpOwoJCWFycltpXT12YWw7CgkJYWN0dWFsKz12YWw7Cgl9Cglmb3IoaT0wO2k8bjtpKyspCgl7CgkJY291bnRbaV09MDsKCX0KCXNjYW5mKCIlZCIsJmIpOwoJZm9yKGk9MDtpPGI7aSsrKQoJewoJCWJhdGNoW2ldPTA7Cgl9Cglmb3IoaT0wO2k8YjtpKyspCgl7CgkJc2NhbmYoIiVkIiwmdmFsKTsKCQlzeXNbaV09dmFsOwoJCWZvcihqPTA7ajxzeXNbaV07aisrKQoJCXsKCQkJc2NhbmYoIiVkIiwmdGVtcCk7CgkJCXRlW2ldW2pdPXRlbXA7CgkJfQoJCXNjYW5mKCIlZCIsJnRlbXApOwoJCXByb2Nlc3NbaV09dGVtcDsKCX0KCWFucz1nZXQoY291bnQsYmF0Y2gsMCk7CglwcmludGYoIiVkXG4iLGFucy1hY3R1YWwpOwogICAgLy9jb3V0IDw8ICJIZWxsbyBXb3JsZCEiIDw8IGVuZGw7CiAgICByZXR1cm4gMDsKfQo=