#include<stdio.h>
#include<stdlib.h>
#define MAX 100
struct task
{
    int taskid;
    int priority;
};
struct task heap[MAX];
int size=0;
void swap(struct task*a,struct task*b)
{
    struct task temp=*a;
    *a=*b;
    *b=temp;
}
void heapifyup(int index)
{
    if(index<=0)
    return;
    int parent=(index-1)/2;
    if(heap[index].priority<heap[parent].priority)
    {
        swap(&heap[index],&heap[parent]);
        heapifyup(size);
        size++;
        printf("Task Added: %d\n",taskid);
    }
    int main()
    {
        int n;
        scanf("%d",&n);
        for(int i=0;i<n;i++)
        {
            int taskid,priority;
            scanf("%d%d",&taskid,&priority);
            if(taskid<0||priority<0)
            {
                printf("Invalid Input\n");
                continue;
            }
            insert(taskid,priority);
        }
        printf("Task with Highest Priority: %d\n",heap[0].taskid);
        return 0;
    }