void insert_node(struct node *head, int data, int index){

    struct node* new_node = create_node(data);

    struct node* temp = head;

    int i = 0;

    

    while (1){

        if (index == i){

            break;

        }

        temp = temp->next;

        i ++;

        

    }

    if (index == 0){

        new_node->next = head;

        head->prev = new_node;

    }

    else{

        new_node->next = temp;

        new_node->prev = temp->prev;

        temp->prev->next = new_node;

        temp->prev = new_node;

        

    }

    

}