


The position given will always be less than or equal to the length of the linked list.
Assume that the Indexing for the linked list starts from 0.
Input :
‘K’ = 3, ‘VAL’ = 4
list = [1, 2, 3]
Output: [1, 2, 3, 4]

The ‘VAL’ = 4, is inserted at end of the above doubly linked list.
The first line will contain the integer 'T', the number of test cases.
The first line of each test case contains the integers ‘K’, and ‘VAL’, denoting the position of insertion operation, and the value of the new node to be inserted in the list respectively.
The second line of each test case contains an array of positive integers denoting the nodes of the linked list.
For each test case, print the doubly linked list after the insertion operation.
You don't need to print anything. It has already been taken care of. Just implement the given function.
Here, '-1' marks the end of the linked list.
1 <= 'T' <= 10
1 <= Length of the list <= 10^4
0 <= ‘K’ <= Length of the list, where ‘K’ is 0-indexed.
1 <= 'VAL' <= 10^5
Time Limit: 1 sec
Approach:
Iterate the list starting from the ‘HEAD’ to the ‘Kth’ node.
Insert a new node ‘TEMP’ which is pointing to the ‘Kth’ node next and then changing the ‘Kth’ node next to ‘TEMP’, changing the ‘Kth’ node->next->prev to ‘TEMP’ and then making the ‘TEMP’ prev point to ‘Kth’ node. Like:
Algorithm :