#include<stdio.h>
#include<stdlib.h>
#include<ctype.h>
#include<limits.h>

#define MAX_TASKS 1000
typedef struct{
    int taskID;
    int priority;
} Task;
Task heap [MAX_TASKS];
int heapsize = 0;

void swap(Task* a,Task* b){
    *a = *b;
    *b = temp;
}
void heapifyUp(int index){
    while(index>0){
        int parent = (index - 1) / 2;
        if(heap[parent].priority>heap[index].priority){
            swap(&heap[parent],&heap[index]);
            index = parent;
        }else{
            break;
        }
    }
}
void insertTask(int TaskId, int priority){
Task newTask;
newTask.taskID = taskID;
newTask.priority = priority;
heap[heapsize] = newTask;
heapifyUp(heapsize);
heapsize++;
int main(){
    int n;
    if(scanf("&d",&n) != 1 ||n < 1||n>MAX_TASKS){
        printf("Invalid input/n");
        continue;
    }
    insertTask(taskId,priority);
    printf("Task added:%d\n",taskID);
}
if(heapsize>0){
    printf("Task with highest priority:%d\n",heap[0].taskID);
}else{
    printf("No valid task is available.\n");
}
return 0;
}