#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;
    for(int i=0;i<n;i++){
        scanf("%d %d",&id, &p);
        if(p<0){
            printf("invalid input");
            else{
                insert(id,p);
                printf("Task Added: %d\n",id);
            }
        }
        if(size>0)
        printf("Task with Highest Priority: %d\n",heap[0].id);
    }