#include<stdio.h>
struct task{
    int id,priority;
}heap[1000];
int size=0;
void swap(int i,int j){
    struct task t=heap[i];
    heap[i]=heap[j];
    heap[j]=t;
}
void insert(int id,int p){
    int i=size++;
    heap[i].id=id;
    heap[i].priority=p;
    while(i>0 && heap[(i-1)/2].priority > heap[i].priority){
        swap(i,(i-1)/2);
        i=(i-1)/2;
    }
}
int main(){
    int n,id,p;
    scanf("%d",&n);
    for(int i=0;i<n;i++){
        scanf("%d %d",&id,&op);
        if(p<0)
        printf("Invallid input");
        else{
            insert(id,p);
            printf("task added:%d\n",id);
        }
    }
    if(size>0)
    printf("Task with highest priority:%d\n",heap[0].id);
    return 0;
}