#include <stdio.h>
#include <stdlib.h>
#include <ctype.h>
#define MAX 100
int heap[MAX][2], size = 0;
void swap(int i, int j) {
    int  temp_id = heap[i][0], temp_prio = heap[i][1];
    heap[i][0] = heap[j][0];
    heap[i][1] = heap[j][1];
    heap[j][0] = temp_id;
    heap[j][1] = temp_prio;
}
void insert(int id, int prio) {
    int i = size++;
    heap[i][0] = id;
    heap[i][1] = prio;
    while (i > 0 && heap [i][1] < heap[(i - 1) / 2][1]){
        swap(i, (i- 1) / 2);
        i = (i - 1) / 2;
        }
        printf("Task Added: %d\n", id);
        }
        int readInt(int *val) {
            char line[50];
            if (!fgets(line, sizeof(line), stdin)) return 0;
            char extra;
            if (scanf(line, "%d %c", val, &extra) == 1)return 1;
            return 0;
        }
        int main() {
            int n, id, prio;
            scanf("%d", &n);
            getchar();
            for (int i = 0;i < n; i++) {
                chat line[50];
                 if (!fgets(line, sizeof(line), stdin)) {
                     printf("Invalid Input\n");
                     continue;
                 }
                if (sscanf(line, "%d %d", &id, &prio) !=2 || prio < 0) {
                    printf("Invalid Input\n");
                    continue;
                }
                    insert(id, prio);
                    }
                    if (size > 0)
                    printf("Task with Highest Priority: %d\n", heap[0][0]);
                    return 0;
        }