#include<stdio.h>
struct task{
    int id;
    int priority;
};
struct Task heap[1000];
int size =0;
void swap(struct Task *a,struct Task *b){
    struct Task temp =*a;
    *a = *b;
    *b = temp;
}
void insert(int id,int priority){
    heap[size].id = id;
    heap[size].priority=priority;
    int i = size;
    size++;
    while(i>0 &&heap[(i-1)/2].priority>heap[i].priority){
        swap(&head[i]. &heap[(i-1)/2]);
        i =(i-1)/2;
    }
}
int main(){
    int n ;
     scanf("%d",&n);
     for(int i=0;i<n;i++){
         int id,priority;
         scanf("%d %d",&id,&priority);
         
         if(priority <0){
             printf("Invalid input\n");
         }else{
             insert(id,priority);
             printf("Task Added:%d\n",id);
         }
     }
     if(size>0){
         printf("Task with Highest priority :%d",heap[0].id);
     }
     return 0;
}