You are given a Singly Linked List of integers and an integer 'K'.
Your task is to modify the linked list by inserting a new node after every 'K' node in the linked list with the node value being equal to the sum of the previous 'K' nodes.
Note :
If you reach a situation when the number of nodes remaining in the linked list is less than 'K' but greater than zero, just insert a node with the value equal to the sum of the remaining nodes.
Input Format
The first line of the input contains the elements of the singly linked list separated by a single space and terminated by -1. Hence, -1 would never be a list element.
The second line contains a single integer 'K'.
Output Format:
Print the modified linked list.
The elements of the modified list should be single-space separated, terminated by -1.
Note:
You are not required to print the output, it has already been taken care of. Just implement the function.
Constraints:
0 <= L <= 5 * 10^5
-10^3 <= data <= 10^3 and data != -1
1 <= K <= 10^6
where 'L' is the number of nodes in the linked list and 'data' is the value of elements present in the given linked list.
Time Limit: 1 sec