C++ Левый и правый двоичный поискДано два списка чисел, числа в первом списке упорядочены по неубыванию. Для каждого числа из второго списка определите номер первого и последнего появления этого числа в первом списке. В данной задаче можно пользоваться встроенными функциями. Входные данныеВ первой строке входных данных записаны два числа N и M (1≤N,M≤20000). Во второй строке записаны N упорядоченных по неубыванию целых чисел — элементы первого списка. В третьей строке записаны M целых неотрицательных чисел — элементы второго списка. Все числа в списках — целые 32-битные знаковые. Выходные данныеПрограмма должна вывести M строчек. Для каждого числа из второго списка нужно вывести номер его первого и последнего вхождения в первый список. Нумерация начинается с единицы. Если число не входит в первый список, нужно вывести одно число 0. ПримерыВвод10 51 1 3 3 5 7 9 18 18 5757 3 9 1 17910 10Вывод3 47 71 20Можно этот код переделать в С++ s1 = input()s2 = input()s3 = input()A = set(map(int, s2. split()))B = list(map(int, s3. split()))for b in B:~~~~if b in A:~~~~~~~~print('YES')~~~~else:~~~~~~~~print('NO')Только чтоб работал