import java.util.*;
//定义CPU类
class Cpu{
public String brand;
public String type;
public String frequency;
public int price;
public String getbrand()
{
return brand;
}
public String gettype()
{
return type;
}
public String getfrequency()
{
return frequency;
}
public int getprice()
{
return price;
}
public Cpu(String brand,String type,String frequency,int price)
{
this.brand=brand;
this.type=type;
this.frequency=frequency;
this.price=price;
}
}
//定义内存条类
class Memory{
public String brand;
public String type;
public String capacity;
public int price;
public String getbrand()
{
return brand;
}
public String gettype()
{
return type;
}
public String getcapacity()
{
return capacity;
}
public int getprice()
{
return price;
}
public Memory(String brand,String type,String capacity,int price)
{
this.brand=brand;
this.type=type;
this.capacity=capacity;
this.price=price;
}
}
//定义主板类
class Mainboard{
public String brand;
public String type;
public int price;
public String getbrand()
{
return brand;
}
public String gettype()
{
return type;
}
public int getprice()
{
return price;
}
public Mainboard(String brand,String type,int price)
{
this.brand=brand;
this.type=type;
this.price=price;
}
}
//定义显卡
class Displaycard{
public String brand;
public String type;
public String capacity;
public int price;
public String getbrand()
{
return brand;
}
public String gettype()
{
return type;
}
public String getcapacity()
{
return capacity;
}
public int getprice()
{
return price;
}
public Displaycard(String brand,String type,String capacity,int price)
{
this.brand=brand;
this.type=type;
this.capacity=capacity;
this.price=price;
}
}
public class Main {
public static void main(String[] args) {
Scanner scanner= new Scanner(System.in);
int n = scanner.nextInt();//保存CPU数量
int m = scanner.nextInt();//保存内存条数量
int p= scanner.nextInt();//保存主板数量
int q=scanner.nextInt();//保存显卡数量
Cpu[] cpu=new Cpu[21];//CPU对象数组
Memory[] memory= new Memory[21];//主存对象数组
Mainboard[] mainboard=new Mainboard[21];//主板对象数组
Displaycard[] displaycard=new Displaycard[21] ;//显卡对象数组
//输入CPU的相关信息
for(int i=0;i<n;i++)
{
String brand1 =scanner.nextLine();
String type1 =scanner.nextLine();
String frequency1=scanner.nextLine();
int price1 = scanner.nextInt();
cpu[i].brand=brand1;
cpu[i].type=type1;
cpu[i].frequency=frequency1;
cpu[i].price=price1;
}
//输入内存条相关信息
for(int i=0;i<m;i++)
{
String brand2 =scanner.nextLine();
String type2 =scanner.nextLine();
String capacity2=scanner.nextLine();
int price2=scanner.nextInt();
memory[i].brand=brand2;
memory[i].type=type2;
memory[i].capacity=capacity2;
memory[i].price=price2;
}
//输入主板相关信息
for(int i=0;i<p;i++)
{
String brand3 =scanner.nextLine();
String type3 =scanner.nextLine();
int price3=scanner.nextInt();
mainboard[i].brand=brand3;
mainboard[i].type=type3;
mainboard[i].price=price3;
}
//输入显卡相关信息
for(int i=0;i<p;i++)
{
String brand4 =scanner.nextLine();
String type4 =scanner.nextLine();
String capacity4=scanner.nextLine();
int price4=scanner.nextInt();
displaycard[i].brand=brand4;
displaycard[i].type=type4;
displaycard[i].capacity=capacity4;
displaycard[i].price=price4;
}
int a=scanner.nextInt();//价格区间上限
int b=scanner.nextInt();//价格区间下限
String[] strcpu=new String[21]; //用于保存满足条件的CPU相关信息
String[] strmemory=new String[21];//用于保存满足条件的主存相关信息
String[] strmainboard=new String[21];//用于保存满足条件的主板相关信息
String[] strdisplaycard=new String[21];//用于保存满足条件的显卡相关信息
int[] price0=new int[21];//用于保存满足条件的价格
int sum=0;//用于计算组合的总价
int count=0;//用于统计满足条件的组合数量
int flag = 0;//用于判断是否有满足条件的组合
scanner.close();
for(int j=0;j<n;j++)
{
for(int k=0;k<m;k++)
{
for(int c=0;c<p;c++){
for(int d=0;d<q;d++)
{
sum=cpu[j].getprice()+memory[k].getprice()+mainboard[c].getprice()+displaycard[d].getprice();
if(sum >= a && sum <= b )
{
price0[count]=sum;
sum=0;
strcpu[count]=cpu[j].getbrand()+'-'+ cpu[j].gettype() + '-' + cpu[j].getfrequency();
strmemory[count]=memory[k].getbrand()+'-'+memory[k].gettype()+'-'+memory[k].getcapacity();
strmainboard[count]=mainboard[c].brand+'-'+mainboard[c].type;
strdisplaycard[count]=displaycard[d].brand+'-'+displaycard[d].gettype()+'-'+displaycard[d].getcapacity();
count++;
flag = 1;
}
}
}
}
}
//对合法的进行排序
if(flag == 1){
int pricetemp;//交换价格
String strtemp;//用于交换字符串
for(int i=0;i<count;i++)
{
for(int j=0;j<count - 1 - i;j++)
{
if(price0[i]>price0[j])
{
//价格交换
pricetemp=price0[i];
price0[i]=price0[j];
price0[j]=pricetemp;
//CPU交换
strtemp=strcpu[i];
strcpu[i]=strcpu[j];
strcpu[j]=strtemp;
//内存交换
strtemp=strmemory[i];
strmemory[i]=strmemory[j];
strmemory[j]=strtemp;
//主板交换
strtemp=strmainboard[i];
strmainboard[i]=strmainboard[j];
strmainboard[j]=strtemp;
//显卡交换
strtemp=strdisplaycard[i];
strdisplaycard[i]=strdisplaycard[j];
strdisplaycard[j]=strtemp;
}
//输出结果
int k=0;
for(int s=0;s<count;s++)
{
k++;
System.out.println(k + strcpu[s] + ' ' + strmemory[s] + ' ' + strmainboard[s] + ' ' + strdisplaycard[s] + '\n');
}
}
}
}
else
{
System.out.println("No Computer\n");
}
}
}