# PROBLEM LINK:

* Author:* Yash Shah

*Roshan Gupta, Shivam Sarang, Hrishikesh Patel*

**Tester:***Yash Shah*

**Editorialist:**# DIFFICULTY:

EASY-MEDIUM

# PROBLEM:

Chef loves coding questions which involves traversing of reversed

Linked List.

But Chef is stuck in a question where he has to print the

first occurrence of the Nth node value from the end of a Singly Linked

List of length L.

Can you help him out of this?

Note: If length of Singly Linked List is less than N print -1.

# Input Format:

- First line contains T number of test cases.
- First line contains two space separated integers L, N where L is

length of the linked list and the N is index of the node starting from

end whose value is to be determined. - Second line contains A1,A2,…AL value of the linked list nodes

starting from the head.

# Output Format:

- A single digit result which satisfies the problem.

# EXPLANATION:

Sample Test Case:

Input:

3

10 5

100 20 123 342 23 123 3423 343 12 4

7 2

78 90 78 3 7 78 1011

5 6

100 232 9 1003 89

Output:

8

7

-1

- Test Case1: If we traverse 5 elements from end we get 123. And

the first occurrence of 123 is at 2nd index, so from end it is at 8th

index. Hence Result: 8 - Test Case 2: If we traverse 2 elements from end we get 78. And

the first occurrence of 78 is at 0th index, so from end it is 7th index.

Hence Result: 7

# SOLUTIONS:

## Setter's Solution

```
import sys
import numpy as np
t = int(input())
while t:
ele = 0
arr = list(map(int, sys.stdin.readline().split()))
L, N = arr[0], arr[1]
if L > N:
lst = list(map(int, sys.stdin.readline().split()))
if len(lst) == L:
ele = lst[-N]
arr = np.array(lst)
pos = np.where(arr == ele)[0]
print(len(lst) - pos[0])
else:
lst = list(map(int, sys.stdin.readline().split()))
print(-1)
t -= 1
```