#include<stdio.h>
#include<stdlib.h>
struct bode{
    int data;
    struct node*next;
};
struct node* createnode(int data){
    struct node*newnode=(struct node*)malloc(sizeof(struct node));
    newnode->data=data;
    newnode->next=NULL;
    return newnode;
}
int findmiddle(struct node*head,int n){
    int midindex=n/2;
    for(int i=0;i<midindex;i++){
        temp=temp->next;
    }
    return temp->data;
}
int main(){
    int n;
    scanf("%d",&n);
    if(n<0){
        printf("Invalid input");
        return 0;
    }
    if(n==0){
        printf("List is empty");
        return 0;
    }
    struct node*head=NULL,*tail=NULL;
    for(int i=0;i<n;i++){
        int val;
        scanf("%d",&val);
        struct node*newnode=createnode(val);
        if(head==NULL)
        head=tail=newnode;
        else{
            tail->next=newnode;
            tail=newnode;
        }
    }
    int middle=findmiddle;
}