#include<iostream>
#include<queue>
using namespace std;

constexpr int N = 3E5; 
int n,ans;
struct Node {
	int time, id;
};

int vis[N+3];
queue<Node> q;

int main(){
	cin >> n;
	for(int i = 1; i <= n; i++){
		int t,k;
		cin >> t >> k;
		while(!q.empty()){
			Node head = q.front();
			if(head.time <= t - 86400){
				vis[head.id]--;
				if(vis[head.id] == 0){
					-- ans;
				}
				q.pop();
				continue;
			}
			break;
		}
		for(int j = 1; j <= k; j++){
			int id;
			cin >> id;
			Node tmp = {t,id};
			q.push(tmp);
			vis[id]++;
			if(vis[id] == 1){
				ans++;
			}
		}
		cout << ans << '\n';
	}
	return 0;
}