A. Valera and Antique Items time limit per test 1 second memory limit per test 256 megabytes input standard input output standard output
Valera is a collector. Once he wanted to expand his collection with exactly one antique item.
Valera knows n sellers of antiques, the i-th of them auctioned ki items. Currently the auction price of the j-th object of the i-th seller issij. Valera gets on well with each of the n sellers. He is perfectly sure that if he outbids the current price of one of the items in the auction (in other words, offers the seller the money that is strictly greater than the current price of the item at the auction), the seller of the object will immediately sign a contract with him.
Unfortunately, Valera has only v units of money. Help him to determine which of the n sellers he can make a deal with.
Input
The first line contains two space-separated integers n,?v (1?≤?n?≤?50; 104?≤?v?≤?106) ― the number of sellers and the units of money the Valera has.
Then n lines follow. The i-th line first contains integer ki (1?≤?ki?≤?50) the number of items of the i-th seller. Then go ki space-separated integers si1,?si2,?...,?siki (104?≤?sij?≤?106) ― the current prices of the items of the i-th seller.
Output
In the first line, print integer p ― the number of sellers with who Valera can make a deal.
In the second line print p space-separated integers q1,?q2,?...,?qp (1?≤?qi?≤?n) ― the numbers of the sellers with who Valera can make a deal. Print the numbers of the sellers in the increasing order.
Sample test(s) input
3 50000
1 40000
2 20000 60000
3 10000 70000 190000
output
3
1 2 3
input
3 50000
1 50000
3 100000 120000 110000
3 120000 110000 120000
output
0
Note
In the first sample Valera can bargain with each of the sellers. He can outbid the following items: a 40000 item from the first seller, a20000 item from the second seller, and a 10000 item from the third seller.
In the second sample Valera can not make a deal with any of the sellers, as the prices of all items in the auction too big for him.
//31 ms 0 KB
#include
int s[1007];
int main()
{
int n,m;
while(scanf("%d%d",&n,&m)!=EOF)
{
int count=0;
int k=0;
for(int i=1;i<=n;i++)
{
int a,b,flag=1;
scanf("%d",&a);
for(int j=1;j<=a;j++)
{
scanf("%d",&b);
if(m>b&&flag){count++;flag=0;s[k++]=i;}
}
}
printf("%d\n",count);
if(count)
{
for(int i=0;i
B. Valera and Fruits time limit per test 1 second memory limit per test 256 megabytes input standard input output standard output
Valera loves his garden, where n fruit trees grow.
This year he will enjoy a great harvest! On the i-th tree bi fruit grow, they will ripen on a day number ai. Unfortunately, the fruit on the tree get withered, so they can only be collected on day ai and day ai?+?1 (all fruits that are not collected in these two days, become unfit to eat).
Valera is not very fast, but there are some positive points. Valera is ready to work every day. In one day, Valera can collect no more thanv fruits. The fruits may be either from the same tree, or from different ones. What is the maximum amount of fruit Valera can collect for all time, if he operates optimally well?
Input
The first line contains two space-separated integers n and v (1?≤?n,?v?≤?3000) ― the number of fruit trees in the garden and the number of fruits that Valera can collect in a day.
Next n lines contain the description of trees in the garden. The i-th line contains two space-separated integers ai and bi (1?≤?ai,?bi?≤?3000) ― the day the fruits ripen on the i-th tree and the number of fruits on the i-th tree.
Output
Print a single integer ― the maximum number of fruit that Valera can collect.
Sample test(s) input
2 3
1 5
2 3
outpu