How come my code can't pass?

Hello i believe i have solved the code chalanges (loops) same values. But i can’t pass the subject
here is my code

#Write your function here
def same_val(lst1, lst2, res=[]) :
  fa = lst1[0]
  fb = lst2[0]
  ra = lst1[1:]
  rb = lst2[1:]
  r = []
  if fa == fb :
    r.append(fa)
  if ra == [] :
    return res
  return same_val(ra,rb, res+r)

def same_values(lst1, lst2) : 
  res = same_val(lst1,lst2)
  result = []
  for n in res :
    result.append(lst1.index(n))
  return result
#Uncomment the line below when your function is done
print(same_values([5, 1, -10, 3, 3], [5, 10, -10, 3, 5]))

I’m using helper function same_val to recursively get the same values and then get the indicies in the same_values function. is this a bug or what? thanks