Помогите, пожалуйста, разобраться в коде.
Даны два списка чисел, введенных с клавиатуры. Определить, сколько и каких чисел одновременно встречается в двух списках.
У меня получилось так, но выводятся не числа, а именно цифры:

list1 =
list2 =
def foo(list1,list2):
d = { }
for a in list1:
if a in list2:
d = foo(a, d)
print('\n'.join(f'{k} - {v} раз' for k, v in sorted(d.items())))

Выход:
0 - 1 раз
1 - 2 раз
2 - 2 раз
4 - 1 раз
5 - 2 раз
6 - 1 раз
7 - 2 раз
8 - 1 раз
9 - 1 раз