There are $n$ students in a school class, the rating of the $i$-th student on Codehorses is $a_i$. You have to form a team consisting of $k$ students ($1 \le k \le n$) such that the ratings of all team members are distinct.

If it is impossible to form a suitable team, print "NO" (without quotes). Otherwise print "YES", and then print $k$ distinct numbers which should be the indices of students in the team you form. If there are multiple answers, print any of them.


-----Input-----

The first line contains two integers $n$ and $k$ ($1 \le k \le n \le 100$) — the number of students and the size of the team you have to form.

The second line contains $n$ integers $a_1, a_2, \dots, a_n$ ($1 \le a_i \le 100$), where $a_i$ is the rating of $i$-th student.


-----Output-----

If it is impossible to form a suitable team, print "NO" (without quotes). Otherwise print "YES", and then print $k$ distinct integers from $1$ to $n$ which should be the indices of students in the team you form. All the ratings of the students in the team should be distinct. You may print the indices in any order. If there are multiple answers, print any of them.

Assume that the students are numbered from $1$ to $n$.


-----Examples-----
Input
5 3
15 13 15 15 12

Output
YES
1 2 5 

Input
5 4
15 13 15 15 12

Output
NO

Input
4 4
20 10 40 30

Output
YES
1 2 3 4 



-----Note-----

All possible answers for the first example:   {1 2 5}  {2 3 5}  {2 4 5} 

Note that the order does not matter.

Source: codeforces | Difficulty: EASY
Tags: Implementation

Complete search


Solutions:
N = list(map(int, input().split()))
T = list(map(int, input().split()))
TEAM = []
INDEX = []
for _ in range(N[0]):
	if T[_] not in TEAM:
		TEAM.append(T[_])
		INDEX.append(_ + 1)
	if len(TEAM) == N[1]:
		print('YES')
		print(*INDEX)
		exit()
print('NO')


n = input()
n = n.split(' ')
a = int(n[0])
b = int(n[1])
l1 = []
l2 = []
c = input()
c = c.split(' ')
for index in range(a):
	num = c[index]
	if num not in l1:
		l1.append(num)
		l2.append(index)
if len(l1) >= b:
	print('YES')
	for i in range(b):
		print(l2[i] + 1)
else:
	print('NO')


arr = input().split(' ')
n = int(arr[0])
k = int(arr[1])
arr = input().split(' ')
num = [int(x) for x in arr]
num_unique = list(set(num))
if len(num_unique) >= k:
	print('YES')
	ans = num_unique[:k]
	result = []
	for _ in ans:
		result.append(num.index(_) + 1)
	result.sort()
	for _ in result:
		print(_, end=' ')
else:
	print('NO')


import sys

def rr():
	return sys.stdin.readline().rstrip()

def rri():
	return int(rr())

def rrl():
	return list(map(int, rr().split()))

def rrt():
	return tuple(map(int, rr().split()))

def rrle():
	return (line.rstrip() for line in sys.stdin.readlines())

def rrtl():
	return [tuple(map(int, l.split())) for l in rrle()]
from collections import defaultdict

def mus(d=lambda : 0):
	return defaultdict(lambda : defaultdict(d))

def dd0(d=lambda : 0):
	return defaultdict(d)

def ms(x, y, d=0):
	return [[0] * y for i in range(x)]

def ar(x, d=0):
	return [d] * x

def ppm(m, n=0, x=0, y=0):
	print('\n'.join(('\t'.join((str(m[j][i]) for j in range(y or n))) for i in range(x or n))))

def ppa(a, n):
	print('\t'.join(map(str, a[0:n])))

def ppl(a=0, x=[1]):
	x[0] = a or x[0] + 1
	print('-' + '- -' * 14 + '-# ' + str(x[0] - 2) + ' #-' + '- -' * 14 + '-')

def fltn(a):
	(i for sub in a for i in sub)

def yn(x):
	return 'YES' if x else 'NO'
from itertools import accumulate
from itertools import groupby

def grp(x, key=None):
	return ((i, sum((1 for _ in g))) for (i, g) in groupby(x, key=key))
import math

def rnar():
	return (*rrl(), rrl())

def rn():
	return (*rrl(),)

def dpp(a, b=''):
	print('#| {} |#:^ {} ^:'.format(a, b))
MOD17 = 10 ** 9 + 7

def read():
	return rnar()
	return (0,)

def solve(n, k, arr):
	d = {}
	for (num, item) in enumerate(arr):
		d[item] = num + 1
	if len(d) < k:
		ans = 'NO'
	else:
		sb = ' '.join(map(str, list(d.values())[:k]))
		ans = 'YES\n' + sb
	return ans
test_count = 1
for _ in range(test_count):
	input_data = read()
	result = solve(*input_data)
	print(result)


(n, k) = input().split()
(n, k) = [int(n), int(k)]
a = [int(i) for i in input().split()]
c = 0
b = []
for i in range(0, n):
	if a[i] != 0:
		for j in range(i + 1, n):
			if a[i] == a[j]:
				a[j] = 0
		b.append(i + 1)
		c += 1
if c < k:
	print('NO')
else:
	print('YES')
	print(*b[:k], sep=' ')


(n, k) = map(int, input().split())
a = list(map(int, input().split()))
selected = []
indices = []
for i in range(n):
	if a[i] not in selected:
		selected.append(a[i])
		indices.append(i + 1)
if len(indices) < k:
	print('NO')
else:
	print('YES')
	for i in range(k):
		print(indices[i], end=' ')


(n, k) = list(map(int, input().split()))
a = list(map(int, input().split()))
team = list(set(a))
if len(team) >= k:
	print('YES')
	for i in range(k):
		print(a.index(team[i]) + 1, end=' ')
else:
	print('NO')


(n, k) = map(int, input().split())
items = input().strip().split()
cache = dict()
for (index, item) in enumerate(items):
	cache[item] = index
if len(cache) >= k:
	print('YES')
	print(' '.join(list(map(lambda x: str(x[1] + 1), cache.items()))[:k]))
else:
	print('NO')


(n, k) = map(int, input().split())
za = list(map(int, input().split()))
mm = {}
for i in range(len(za)):
	mm[za[i]] = i + 1
if len(mm) >= k:
	print('YES')
	for x in list(mm.values())[:k]:
		print(x, end=' ')
else:
	print('NO')


(n, k) = (int(x) for x in input().split())
students = list(map(int, input().split()))
team_index = []
team = []
for i in range(len(students)):
	if not students[i] in team:
		team.append(students[i])
		team_index.append(i + 1)
if len(team) >= k:
	print('YES')
	print(' '.join(map(str, team_index[:k])))
else:
	print('NO')


(n, k) = map(int, input().split())
rate = list(map(int, input().split()))
gl = set(rate)
g = list(gl)
if len(g) < k:
	print('NO')
else:
	s = 0
	l2 = []
	for val in range(0, len(g)):
		for gh in range(0, len(rate)):
			if g[val] == rate[gh]:
				l2.append(gh + 1)
				s += 1
				break
		if s == k:
			break
	l2.sort()
	print('YES')
	print(*l2)


(n, k) = map(int, input().split())
a = list(map(int, input().split()))
b = set(a)
x = 1
if len(b) >= k:
	print('YES')
	for i in b:
		if x <= k:
			print(a.index(i) + 1, end=' ')
		else:
			break
		x += 1
else:
	print('NO')


(n, m) = map(int, input().split())
l = list(map(int, input().split()))
(x, y) = ([], [])
l1 = list(set(l))
if len(l1) < m:
	print('NO')
else:
	for i in range(len(l1)):
		if l1[i] in l:
			x.append(l.index(l1[i]))
	for i in range(len(x)):
		x[i] = x[i] + 1
	print('YES')
	x.sort()
	for i in range(m):
		y.append(x[i])
	print(*y)


a = input().split()
b = input().split()
a[0] = int(a[0])
a[1] = int(a[1])
for c in range(a[0]):
	b[c] = int(b[c])
c = ['' for _ in range(101)]
done = 0
for d in range(a[0]):
	if len(str(c[b[d]])) == 0:
		c[b[d]] = d
		done += 1
	if done == a[1]:
		break
if done == a[1]:
	print('YES')
	output = ''
	for d in range(101):
		if not len(str(c[d])) == 0:
			output += str(c[d] + 1) + ' '
	print(output)
else:
	print('NO')


i1 = input('')
[n, k] = i1.split()
n = int(n)
k = int(k)
i1 = input('')
i1l = i1.split()
iter = 1
data = dict()
for num in i1l:
	data[num] = data.get(num, [])
	data[num].append(iter)
	iter = iter + 1
if k > len(data):
	print('NO')
else:
	print('YES')
	iter = 0
	for key in data.keys():
		print(data[key][0], end=' ')
		iter = iter + 1
		if iter == k:
			break


get = lambda : map(int, input().split())
(n, k) = get()
arr = dict(zip(get(), range(1, n + 1)))
if len(arr) >= k:
	print('YES')
	print(*list(arr.values())[:k])
else:
	print('NO')


(n, k) = [int(x) for x in input().split()]
a = [int(x) for x in input().split()]
b = []
s = set(a)
if len(s) < k:
	print('NO')
else:
	for i in s:
		b.append(a.index(i) + 1)
	if len(b) == k:
		print('YES')
		print(*b)
	else:
		for i in range(len(b) - k):
			b.pop(i)
		print('YES')
		print(*b)


(n, k) = (int(x) for x in input().split())
a = [int(x) for x in input().split()]
b = []
c = []
for i in range(n):
	if a[i] not in b:
		b.append(a[i])
		c.append(i + 1)
	if len(c) == k:
		break
if len(c) >= k:
	print('YES')
	print(*c)
else:
	print('NO')


q = input()
(n, k) = q.split()
n = int(n)
k = int(k)
s2 = []
s1 = [0]
p = 0
s = input().split()
for i in range(n):
	if s[i] in s1:
		p += 1
	else:
		s1.append(s[i])
		s2.append(i + 1)
if k <= len(s2):
	print('YES')
	for i in range(k):
		print(s2[i], end=' ')
else:
	print('NO')


(x, n) = map(int, input().split())
l = list(map(int, input().split()))
k = []
g = []
for i in l:
	if (i in k) == False:
		k.append(i)
if len(k) < n:
	print('NO')
else:
	print('YES')
	for i in range(n):
		print(l.index(k[i]) + 1, end=' ')


import sys
input = sys.stdin.readline
from collections import defaultdict as dc
from collections import Counter
from bisect import bisect_right, bisect_left
import math
from operator import itemgetter
from heapq import heapify, heappop, heappush
from queue import PriorityQueue as pq
(n, k) = map(int, input().split())
l = list(map(int, input().split()))
x = dc(int)
for i in range(n):
	x[l[i]] = i + 1
if len(x) >= k:
	print('YES')
	l = []
	c = 0
	for i in x:
		if c >= k:
			break
		l.append(x[i])
		c += 1
	print(*l)
else:
	print('NO')


(n, k) = [int(i) for i in input().split()]
a = [int(i) for i in input().split()]
ans = set()
for i in a:
	if len(ans) == k:
		break
	ans.add(i)
if len(ans) != k:
	print('NO')
else:
	print('YES')
	for i in ans:
		print(a.index(i) + 1, '', end='')


(a, b) = input().split()
(a, b) = (int(a), int(b))
c = []
k = 0
g = input().split()
for i in range(a):
	if g[i] not in c:
		k += 1
		c.append(g[i])
if k >= b:
	print('YES')
	for i in range(b):
		print(g.index(c[i]) + 1, end=' ')
else:
	print('NO')


(n, k) = map(int, input().split())
a = list(map(int, input().split()))
d = list(set(a))
if len(d) < k:
	print('NO')
else:
	print('YES')
	ans = [a.index(d[i]) + 1 for i in range(k)]
	print(' '.join(map(str, ans)))


(n, k) = map(int, input().split())
arr = list(map(int, input().split()))
s = set()
for i in arr:
	s.add(i)
if len(s) >= k:
	c = 0
	print('YES')
	for i in s:
		print(arr.index(i) + 1, end=' ')
		c += 1
		if c == k:
			break
	print()
else:
	print('NO')


(x, y) = [int(i) for i in input().split()]
a = [int(i) for i in input().split()]
b = 0
z = set(a)
if y <= len(z):
	print('YES')
	for i in z:
		print(a.index(i) + 1, end=' ')
		b += 1
		if b >= y:
			break
else:
	print('NO')


from copy import deepcopy
import itertools
from bisect import bisect_left
import math

def read():
	return int(input())

def readmap():
	return map(int, input().split())

def readlist():
	return list(map(int, input().split()))
(N, K) = readmap()
A = readlist()
idx = []
for i in range(N):
	if A[i] not in A[:i]:
		idx.append(i + 1)
	if len(idx) == K:
		break
if len(idx) == K:
	print('YES')
	print(' '.join(list(map(str, idx))))
else:
	print('NO')


(n, k) = [int(i) for i in input().split()]
a = [int(i) for i in input().split()]
b = list(dict.fromkeys(a))
if len(b) >= k:
	res = ''
	for i in range(k):
		res += str(a.index(b[i]) + 1) + ' '
	res = res[:len(res) - 1]
	print('YES')
	print(res)
else:
	print('NO')


a = [int(x) for x in input().strip().split(' ')]
N = a[0]
n = a[1]
l = [int(x) for x in input().strip().split(' ')]
assert len(l) == N
d = {}
for (i, e) in enumerate(l):
	if e not in d:
		d[e] = i + 1
if len(d) >= n:
	print('YES')
	for e in list(d.values())[:n]:
		print(e, end=' ')
else:
	print('NO')


(n, k) = map(int, input().split())
p = list(map(int, input().split()))
s = set(p)
a = []
if len(s) >= k:
	print('YES')
	for i in s:
		a.append(p.index(i) + 1)
	a = a[::-1]
	i = 0
	while i < k:
		print(a[i], end=' ')
		i += 1
else:
	print('NO')


(n, k) = map(int, input().split())
a = list(map(int, input().split()))
d = dict()
for i in range(n):
	if a[i] not in d:
		d[a[i]] = i + 1
if len(d) < k:
	print('NO')
else:
	print('YES')
	c = 0
	for i in d:
		print(d[i], end=' ')
		c += 1
		if c >= k:
			break


(n, k) = map(int, input().split())
arr = [int(i) for i in input().split()]
d = {}
for i in range(len(arr)):
	d[arr[i]] = i
if len(d.keys()) >= k:
	print('YES')
	sol = []
	for (key, val) in d.items():
		if k <= 0:
			break
		sol.append(val + 1)
		k -= 1
	print(*sol)
else:
	print('NO')


import sys

def main():
	(a, b) = map(int, input().split())
	rate = list(map(int, input().split()))
	if 1 <= int(b) <= int(a) <= 100:
		if len(rate) == a:
			create_team(rate, b)

def create_team(rate_arr, team_size):
	count = replace_rate(rate_arr)
	if len(rate_arr) - count < team_size:
		print('NO')
	else:
		print('YES')
		for (i, x) in enumerate(rate_arr):
			if x != -1 and team_size > 0:
				print(i + 1, end=' ')
				team_size -= 1

def replace_rate(rate_arr):
	count = 0
	for (i, _) in enumerate(rate_arr):
		if rate_arr[i] != -1:
			for (j, _) in enumerate(rate_arr):
				if rate_arr[i] == rate_arr[j] and i != j:
					rate_arr[j] = -1
					count += 1
	return count
main()


l = []
c = 0
ns = ''
a = input().split()
s = input().split()
for i in range(int(a[0])):
	if s[i] not in l:
		l.append(s[i])
		ns += str(i + 1) + ' '
		c += 1
	if c == int(a[1]):
		print('YES')
		print(ns)
		break
if c != int(a[1]):
	print('NO')


class unique:

	def __init__(self):
		self.arr = []

	def ppush(self, num):
		if num in self.arr:
			nothing = 0
		else:
			self.arr.append(num)

	def getL(self):
		return len(self.arr)

	def getArr(self):
		return self.arr
in1 = input().split(' ')
members = int(in1[0])
size = int(in1[1])
uarr = unique()
score = input().split(' ')
for i in range(len(score)):
	uarr.ppush(score[i])
if uarr.getL() < size:
	print('NO')
else:
	print('YES')
	re = ''
	uuar = uarr.getArr()
	for i in range(size):
		re += str(score.index(uuar[i]) + 1)
		re += ' '
	print(re)


(n, k) = map(int, input().split())
a = [int(a) for a in input().split()]
b = list()
for i in a:
	if i not in b:
		b.append(i)
if len(b) < k:
	print('NO')
else:
	print('YES')
	for i in range(k):
		print(a.index(b[i]) + 1, end=' ')


(n, k) = map(int, input().strip().split())
l = list(map(int, input().strip().split()))
p = list(set(l))
if len(p) < k:
	print('NO')
else:
	print('YES')
	for i in range(k):
		print(l.index(p[i]) + 1, end=' ')


(n, k) = map(int, input().strip().split())
a = list(map(int, input().strip().split()))
b = list(set(a))
le = len(b)
if le < k:
	print('NO')
else:
	print('YES')
	for i in range(0, k):
		print(a.index(b[i]) + 1, end=' ')


(k, n) = list(map(int, input().split()))
st = list(map(int, input().split()))
a = [0] * 101
ct = 0
for i in range(k):
	if a[st[i]] == 0:
		ct += 1
	a[st[i]] += 1
if ct < n:
	print('NO')
else:
	print('YES')
	i = 0
	while n > 0:
		if a[st[i]] != 0:
			a[st[i]] = 0
			print(i + 1, end=' ')
			n -= 1
		i += 1
	print()


(n, k) = map(int, input().split())
a = list(map(int, input().split()))
answer = []
if len(set(a)) >= k:
	print('YES')
	temp = []
	temp.extend(set(a))
	for i in range(k):
		answer.append(a.index(temp[i]) + 1)
	print(*sorted(answer))
else:
	print('NO')


(n, k) = map(int, input().split())
a = list(map(int, input().split()))
d = {}
for i in range(n):
	d[a[i]] = i + 1
if len(d) < k:
	print('NO')
else:
	print('YES')
	for x in list(d.values())[:k]:
		print(x, end=' ')


(n, k) = map(int, input().split())
arr = list(map(int, input().split()))
students = list(set(arr))
pos = []
flag = k
for i in range(len(students)):
	pos.append(arr.index(students[i]) + 1)
	flag -= 1
	if flag == 0:
		break
if len(students) >= k:
	print('YES')
	print(*pos)
else:
	print('NO')


z = input
import math
(n, k) = map(int, z().split())
l = list(map(int, z().split()))
p = list(set(l))
if len(p) >= k:
	print('YES')
	np = []
	for i in range(k):
		x = l.index(p[i]) + 1
		np.append(x)
	print(*np[::-1])
else:
	print('NO')


(n, k) = str(input()).split()
n = int(n)
k = int(k)
st = str(input()).split()
st = [int(i) for i in st]
s = set()
a = []
for i in range(0, n):
	if st[i] not in s:
		s.add(st[i])
		a += [i]
if len(s) < k:
	print('NO')
	exit(0)
print('YES')
res = ''
for i in range(0, k - 1):
	res += str(a[i] + 1) + ' '
res += str(a[k - 1] + 1)
print(res)


(n, k) = map(int, input().split())
ratings = list(map(int, input().rstrip().split()))
r = list(set(ratings))
print
if len(r) < k:
	print('NO')
else:
	print('YES')
	for i in range(k):
		print(ratings.index(r[i]) + 1, end=' ')


(n, k) = map(int, input().split())
mass = list(map(int, input().split()))
if len(set(mass)) < k:
	print('NO')
else:
	print('YES')
	a = 0
	for i in range(len(mass)):
		if mass[i] not in mass[:i]:
			print(i + 1, end=' ')
			a += 1
		if a == k:
			break


(n, k) = map(int, input().split())
l = list(map(int, input().split()))
l1 = list(set(l))
l2 = []
if len(l1) < k:
	print('NO')
else:
	print('YES')
	for i in range(len(l)):
		if l[i] not in l[:i]:
			l2.append(i + 1)
	for i in range(k):
		print(l2[i], end=' ')


(n, k) = map(int, input().split())
ratings = [int(s) for s in input().split()]
dictionary = {}
res = []
for r in ratings:
	if r in dictionary:
		dictionary[r] += 1
	else:
		dictionary[r] = 1
if len(dictionary) >= k:
	print('YES')
	keys = list(dictionary.keys())
	while k > 0:
		k -= 1
		res.append(keys[k])
	for i in range(0, len(res)):
		res[i] = ratings.index(res[i]) + 1
	print(*res)
else:
	print('NO')


(n, k) = map(int, input().split())
a = list(map(int, input().split()))
d = {}
(c, f) = (0, 0)
for i in range(n):
	if a[i] not in d:
		c += 1
	d[a[i]] = i + 1
	if c == k:
		f = 1
		break
if f:
	print('YES')
	for v in d.keys():
		print(d[v], end=' ')
else:
	print('NO')


(n, k) = map(int, input().split())
a = list(map(int, input().split()))
s = set(a)
if len(s) < k:
	print('NO')
	exit()
ans = list()
for el in sorted(s)[:k]:
	ans.append(1 + a.index(el))
print('YES')
print(' '.join(map(str, ans)))


def main():
	(N, K) = map(int, input().split())
	A = tuple(map(int, input().split()))
	a = set(A)
	if len(a) < K:
		print('NO')
	else:
		print('YES')
		ans = []
		for (i, n) in enumerate(a):
			if i < K:
				ans.append(A.index(n) + 1)
		print(*sorted(ans))
main()


(n, k) = map(int, input().split())
arr = list(map(int, input().split()))
m = {}
d = []
c = 0
for i in range(n):
	if arr[i] in m:
		c += 1
	else:
		m[arr[i]] = 1
		d.append(i + 1)
if len(m) >= k:
	print('YES')
	print(*d[:k])
else:
	print('NO')


mn = [int(i) for i in input().split()]
m = mn[0]
n = mn[1]
l = [int(i) for i in input().split()]
s = set(l)
if len(s) < n:
	print('NO')
else:
	s = list(s)
	print('YES')
	for i in range(0, n):
		print(l.index(s[i]) + 1, end=' ')


(n, k) = map(int, input().split())
b = list(map(int, input().split()))
d = []
for i in b:
	if i not in d:
		d.append(i)
if len(d) >= k:
	print('YES')
	o = []
	for i in range(0, k):
		o.append(str(b.index(d[i]) + 1))
	print(' '.join(o))
else:
	print('NO')


from collections import defaultdict
(n, k) = map(int, input().split())
arr = [int(j) for j in input().split()]
d = defaultdict(list)
for x in range(n):
	d[arr[x]] += [x]
ans = []
for x in d:
	ans += [d[x][0] + 1]
if len(ans) < k:
	print('NO')
else:
	print('YES')
	print(*ans[:k])


def str_list(s, char):
	output_list = []
	collector = ''
	for i in range(len(s)):
		if s[i] == char:
			if collector:
				output_list.append(int(collector))
				collector = ''
		else:
			collector += s[i]
	output_list.append(int(collector))
	return output_list

def str_list_with_str(s, char):
	output_list = []
	collector = ''
	for i in range(len(s)):
		if s[i] == char:
			if collector:
				output_list.append(collector)
				collector = ''
		else:
			collector += s[i]
	output_list.append(collector)
	return output_list

def list_str(l, char):
	output_str = ''
	for i in range(len(l) - 1):
		output_str += str(l[i]) + char
	output_str += str(l[len(l) - 1])
	return output_str

def main_function():
	hash_list = [[0, 0] for i in range(105)]
	(n, k) = str_list(input(), ' ')
	output_list = []
	student_rating = str_list(input(), ' ')
	for i in range(len(student_rating)):
		hash_list[student_rating[i]][0] += 1
		hash_list[student_rating[i]][1] = i + 1
	counter = 0
	for i in range(len(hash_list)):
		if hash_list[i][0] != 0:
			counter += 1
			output_list.append(hash_list[i][1])
	if counter >= k:
		return 'YES' + '\n' + list_str(output_list[:k], ' ')
	return 'NO'
print(main_function())


inp = input().split()
n = int(inp[0])
k = int(inp[1])
a = [int(x) for x in input().split()]
s = dict()
for i in range(n):
	s[a[i]] = i + 1
if len(s) < k:
	print('NO')
else:
	print('YES')
	count = 0
	ss = ''
	for (key, value) in s.items():
		count = count + 1
		ss = ss + str(value) + ' '
		if count == k:
			break
	print(ss)


(n, k) = map(int, input().split())
l = list(map(int, input().split()))
ans = []
for i in set(l):
	ind = l.index(i)
	ans.append(ind + 1)
ans.sort()
for i in range(len(ans)):
	ans[i] = str(ans[i])
if len(set(l)) >= k:
	print('YES')
	print(' '.join(ans[:k]))
else:
	print('NO')


(n, k) = map(int, input().split())
c = list(map(int, input().split()))
visited = []
w = []
for i in range(len(c)):
	if c[i] not in visited:
		visited.append(c[i])
		w.append(i + 1)
if len(visited) >= k:
	print('YES')
	print(*w[:k])
else:
	print('NO')


mp = {}
[n, k] = map(int, input().split())
count = 0
arr = [int(i) for i in input().split()]
for i in range(n):
	if arr[i] not in mp:
		mp[arr[i]] = i
		count += 1
	if count == k:
		break
if count != k:
	print('NO')
else:
	print('YES')
	for i in mp.values():
		print(i + 1, end=' ')


(a, b) = map(int, input().split())
array = list(map(int, input().split()))
output = []
index = []
for x in range(a):
	if array[x] not in output:
		output.append(array[x])
		index.append(x)
if len(index) >= b:
	print('YES')
	for i in range(b):
		print('%d ' % (index[i] + 1), end='')
else:
	print('NO', end='')


(n, k) = map(int, input().split())
p = list(map(int, input().split()))
q = set(p)
w = []
if len(q) >= k:
	for i in q:
		w.append(p.index(i) + 1)
		if len(w) >= k:
			break
	w.sort()
	print('YES')
	for i in w:
		print(i, end=' ')
else:
	print('NO')


(n, k) = map(int, input().split())
l = list(map(int, input().split()))
j = list(set(l))
if len(j) < k:
	print('NO')
else:
	i = 0
	print('YES')
	while k != 0:
		print(l.index(j[i]) + 1, end=' ')
		i += 1
		k -= 1


(n, k) = map(int, input().split())
array = tuple(map(int, input().split()))
s = set()
ans = 0
new_list = list()
for i in range(n):
	if array[i] not in s:
		s.add(array[i])
		new_list.append(i + 1)
		ans += 1
		if ans == k:
			print('YES')
			print(*new_list)
			break
else:
	print('NO')


def countDistinct(l):
	k = []
	for i in range(len(l)):
		if l[i] not in k:
			k.append(l[i])
	return k
(n, k) = [int(i) for i in input().split()]
l = [int(i) for i in input().split()]
j = countDistinct(l)
if len(j) >= k:
	print('YES')
	for i in range(k):
		print(l.index(j[i]) + 1, end=' ')
else:
	print('NO')


(n, k) = list(map(int, input().split()))
a = list(map(int, input().split()))
b = set(a)
l = len(b)
if l >= k:
	print('YES')
	c = set()
	i = 0
	p = 0
	while i < n:
		if a[i] in c:
			i += 1
			continue
		else:
			c.add(a[i])
			print(i + 1, end=' ')
			i += 1
			p += 1
		if p == k:
			break
else:
	print('NO')


import sys
tmp1 = sys.stdin.readline()
mytmp1 = tmp1.split()
num_student = int(mytmp1[0])
size_team = int(mytmp1[1])
tmp2 = sys.stdin.readline()
mytmp2 = tmp2.split()
rank = [int(c) for c in mytmp2]
count = 0
result_rank = []
result_ind = []
ind = 0
flag = True
while count < size_team:
	for i in range(ind, num_student):
		if rank[i] not in result_rank:
			result_rank.append(rank[i])
			result_ind.append(i + 1)
			ind = i + 1
			count += 1
			break
	if i == num_student - 1 and count < size_team:
		flag = False
		break
if flag:
	sys.stdout.write('YES' + '\n')
	for ind in result_ind:
		sys.stdout.write(str(ind) + ' ')
else:
	sys.stdout.write('NO')


(n, k) = map(int, input().split())
a = list(map(int, input().split()))
mp = {}
for i in range(len(a)):
	mp[a[i]] = i + 1
if len(mp) < k:
	print('NO')
else:
	print('YES')
	for (first, second) in mp.items():
		print(second, end=' ')
		k -= 1
		if k == 0:
			break


import sys
lines = sys.stdin.readlines()
cur_line = -1

def input():
	global lines, cur_line
	cur_line += 1
	return lines[cur_line][:-1]
(n, k) = map(int, input().split())
used = {}
res = []
stud = list(map(int, input().split()))
for _ in range(n):
	a = stud[_]
	if a in used:
		continue
	used[a] = 1
	res.append(_ + 1)
if len(res) < k:
	print('NO')
else:
	print('YES')
	print(*res[:k])


(n, k) = [int(x) for x in input().split()]
a = list(map(int, input().split()))
l = []
s = []
for i in range(n):
	if a[i] not in l:
		l.append(a[i])
		s.append(i + 1)
if len(l) >= k:
	print('YES')
	for i in range(k):
		print(s[i], end=' ')
else:
	print('NO')


scores = {}
(n, k) = map(int, input().split(' '))
guys = map(int, input().split(' '))
for (idx, guy) in enumerate(guys):
	scores[guy] = idx
diff = list(map(lambda x: x + 1, list(scores.values())))
if len(diff) < k:
	print('NO')
else:
	print('YES')
	ans = ' '.join(sorted(map(str, diff[:k])))
	print(ans)


lst = list(map(int, input().split()))
res = ''
s = list(map(int, input().split()))
l1 = list()
l2 = list()
for a in range(len(s)):
	if s[a] not in l1:
		l1.append(s[a])
		l2.append(a)
if len(l1) >= lst[1]:
	print('YES')
	for a in range(lst[1]):
		res += str(l2[a] + 1) + ' '
	print(res)
else:
	print('NO')


(a, b) = map(int, input().split())
lst = map(int, input().split())
dis_val = []
indices = []
counter = 1
for i in lst:
	if i not in dis_val:
		dis_val.append(i)
		indices.append(counter)
	if len(dis_val) == b:
		break
	counter += 1
if len(dis_val) >= b:
	print('YES')
	print(*indices)
else:
	print('NO')


(n, k) = input().split(' ')
n = int(n)
k = int(k)
scholars = input()
if len(set(scholars.split(' '))) < k:
	print('NO')
else:
	print('YES')
	temp = list()
	scholars = scholars.split(' ')
	for i in range(len(scholars)):
		if len(temp) == k:
			break
		if not scholars[i] in temp:
			print(i + 1, end=' ')
			temp.append(scholars[i])


f = lambda : map(int, input().split())
(n, k) = f()
(l, lt) = (list(f()), [])
for i in l:
	if not i in lt:
		lt.append(i)
print('YNEOS'[len(lt) < k::2])
if len(lt) >= k:
	for i in range(k):
		print(l.index(lt[i]) + 1, end=' ')


(n, k) = [int(x) for x in input().split()]
a = [int(x) for x in input().split()]
count = 0
d = {}
l = []
for i in range(0, len(a)):
	if a[i] not in d:
		d[a[i]] = 1
		l.append(i)
		count += 1
		if count == k:
			break
if count < k:
	print('NO')
else:
	print('YES')
	for i in l:
		print(i + 1, end=' ')


(n, k) = map(int, input().split())
l = list(map(int, input().split()))
p = []
q = []
if len(set(l)) >= k:
	print('YES')
	for i in range(n):
		if l[i] not in p:
			q.append(i + 1)
			p.append(l[i])
	print(*q[:k], sep=' ')
else:
	print('NO')


(n, k) = map(int, input().split(' '))
inp = list(map(int, input().split()))
distinct = dict()
index = 0
for i in inp:
	index += 1
	if i not in distinct:
		distinct[i] = index
if len(distinct) < k:
	print('NO')
else:
	print('YES')
	for i in distinct.values():
		if k == 0:
			break
		k -= 1
		print(i, end=' ')


r = lambda : map(int, input().split())
(n, k) = r()
a = dict(zip(r(), range(1, n + 1)))
if len(a) < k:
	print('NO')
else:
	print('YES\n', *[*a.values()][:k])


(n, k) = map(int, input().split())
pts = [int(num) for num in input().split()]
kk = 0
taken = [-1 for i in range(105)]
for i in range(n):
	if taken[pts[i]] == -1:
		kk += 1
		taken[pts[i]] = i + 1
if kk >= k:
	print('YES')
	for i in range(105):
		if taken[i] != -1:
			print(taken[i], end=' ')
			k -= 1
			if k == 0:
				break
else:
	print('NO')


import argparse

def main():
	(n, k) = [int(i) for i in input().split()]
	arr = [int(i) for i in input().split()]
	ans = []
	ans2 = []
	for i in range(n):
		if arr[i] not in ans2:
			ans.append(i + 1)
			ans2.append(arr[i])
	if len(ans) < k:
		print('NO')
	else:
		print('YES')
		for i in range(k):
			print(ans[i], end=' ')
main()


s = input()
(n, k) = s.split()
a = input()
team = {a: b for (a, b) in zip(range(1, int(n) + 1), a.split())}
a = set(a.split())
ans = []
ans2 = []
if len(a) >= int(k):
	for (x, y) in team.items():
		if len(ans2) == int(k):
			break
		elif y in a and y not in ans:
			ans2.append(str(x))
			ans.append(y)
		else:
			pass
	print('YES')
	print(' '.join(ans2))
else:
	print('NO')


(N, K) = map(int, input().split(' '))
L = list(map(int, input().split(' ')))
S = list(set(L))
if len(S) < K:
	print('NO')
else:
	print('YES')
	K1 = 0
	for i in range(0, len(S)):
		D = L.index(S[i])
		print(D + 1, end=' ')
		K1 = K1 + 1
		if K1 == K:
			break
	print()


(n, k) = map(int, input().split())
d = {}
l = list(map(int, input().split()))
for i in range(n):
	if l[i] not in d:
		d[l[i]] = i + 1
val = list(sorted(d.values()))
if len(d) >= k:
	print('YES')
	print(*val[:k])
else:
	print('NO')


R = lambda : map(int, input().split())
(n, k) = R()
d = dict(zip(R(), range(1, n + 1)))
if len(d) < k:
	print('NO')
else:
	print('YES')
	print(*list(d.values())[:k])


(n, k) = map(int, input().split())
ar = list(map(int, input().split()))
ar1 = []
count = 0
for i in range(n):
	if ar[i] not in ar1:
		ar1.append(ar[i])
		if len(ar1) == k:
			break
if len(ar1) == k:
	print('YES')
	count = 1
else:
	print('NO')
if count == 1:
	for i in ar1:
		print(ar.index(i) + 1, end=' ')


(n, k) = map(int, input().split())
myList = list(map(int, input().split()))
myNewList = []
myNewList2 = []
for i in range(0, len(myList)):
	if len(myNewList) < k:
		if myList[i] in myNewList:
			i = i
		else:
			myNewList.append(myList[i])
			x = i + 1
			myNewList2.append(x)
if len(myNewList) == k:
	print('YES')
	print(*myNewList2)
else:
	print('NO')


(n, k) = map(int, input().split())
ratingArray = [int(x) for x in input().split()]
uniqueRating = []
index = []
for i in range(n):
	if ratingArray[i] not in uniqueRating:
		uniqueRating.append(ratingArray[i])
		index.append(i + 1)
if len(uniqueRating) >= k:
	print('YES')
	for i in range(k):
		print(index[i], end=' ')
else:
	print('NO')


s = input()
s = s.split()
a = int(s[0])
b = int(s[1])
s = input()
s = s.split()
for i in range(len(s)):
	s[i] = int(s[i])
markers = []
for number in s:
	if number in markers:
		continue
	else:
		markers += [number]
if len(markers) >= b:
	print('YES')
	for i in range(b):
		print(s.index(markers[i]) + 1, end=' ')
else:
	print('NO')


a = input().split(' ')
n = int(a[0])
k = int(a[1])
p = [int(s) for s in input().split(' ')]
if k > len(set(p)):
	print('NO')
else:
	print('YES\n')
	for (t, w) in enumerate(p):
		if p.count(w) > 1 and w != 0:
			p[t] = 0
	i = 0
	for (j, q) in enumerate(p):
		if i in range(k) and p[j] != 0:
			print(j + 1, end=' ')
			i += 1


(n, k) = input().split()
n = int(n)
k = int(k)
a = []
s = input().split()
for i in s:
	a.append(int(i))
b = []
ind = []
for i in range(n):
	if a[i] not in b:
		b.append(a[i])
		ind.append(i + 1)
if len(b) < k:
	print('NO')
else:
	print('YES')
	for i in range(k):
		print(ind[i], end=' ')
	print()


F = lambda : map(int, input().split())
(n, k) = F()
dic = dict(zip(F(), range(1, n + 1)))
if len(dic) < k:
	print('NO')
else:
	print('YES')
	print(*list(dic.values())[:k])


(n, k) = list(map(int, input().split()))
L = list(map(int, input().split()))
e = set()
for x in L:
	e.add(x)
if len(e) >= k:
	print('YES')
	for i in range(k):
		s = list(e)
		print(L.index(s[i]) + 1, end=' ')
else:
	print('NO')


a = list(input().split())
n = int(a[0])
k = int(a[1])
b = list(input().split())
c = list(set(b))
if len(c) >= k:
	print('YES')
	for i in range(k):
		j = 0
		d = []
		while j < n and b[j] != c[i]:
			j = j + 1
		d.append(j + 1)
		e = sorted(d)
		for j in range(len(e)):
			print(e[j], end=' ')
else:
	print('NO')


(n, k) = map(int, input().split())
a = list(map(int, input().split()))
b = []
c = []
for i in range(n):
	if a[i] not in b and len(b) != k:
		b.append(a[i])
		c.append(i + 1)
if len(b) == k:
	print('YES')
	print(*c)
else:
	print('NO')


(n, k) = map(int, input().strip().split())
l = [int(x) for x in input().strip().split()]
l2 = []
l3 = []
for i in range(len(l)):
	if l[i] not in l3:
		l2.append(i + 1)
		l3.append(l[i])
if len(l3) >= k:
	print('YES')
	for i in range(k):
		print(l2[i], end=' ')
else:
	print('NO')


inp = lambda a: map(int, a)
inp_list = lambda a: [int(x) for x in a]
(n, k) = inp(input().split())
a = inp_list(input().split())
s = set(a)
if len(s) >= k:
	print('YES')
	cnt = 0
	for i in range(n):
		if a[i] in s:
			cnt += 1
			s.remove(a[i])
			print(i + 1, end=' ')
		if cnt == k:
			break
else:
	print('NO')


(n, k) = map(int, input().split())
l = list(map(int, input().split()))
s1 = set(l)
if k > len(s1):
	print('NO')
else:
	print('YES')
	c = 0
	for i in s1:
		c += 1
		if c > k:
			break
		print(l.index(i) + 1, end=' ')


(n, k) = list(map(int, input().split()))
lst = []
for i in map(int, input().split()):
	lst.append(i)
s = list(set(lst))
if len(s) < k:
	print('NO')
else:
	print('YES')
	for i in range(k):
		print(lst.index(s[i]) + 1, end=' ')


nk = list(map(int, input().split()))
a = list(map(int, input().split()))
team = []
team_index = []
for i in range(nk[0]):
	if len(team) == nk[1]:
		break
	if a[i] not in team:
		team.append(a[i])
		team_index.append(i + 1)
if len(team_index) >= nk[1]:
	print('YES')
	print(*team_index)
else:
	print('NO')


(n, k) = list(map(int, input().split()))
a = list(map(int, input().split()))
v = set()
ans = []
for i in range(len(a)):
	if a[i] not in v:
		v.add(a[i])
		ans.append(i + 1)
	if len(ans) == k:
		break
if len(ans) == k:
	print('YES')
	print(' '.join(map(str, ans)))
else:
	print('NO')


(n, k) = map(int, input().split())
l = list(map(int, input().split()))
d = {}
for i in range(n):
	if l[i] not in d.keys():
		d[l[i]] = i + 1
if len(d) < k:
	print('NO')
else:
	print('YES')
	i = 0
	for p in d.keys():
		if i < k:
			print(d[p], end=' ')
			i += 1
		else:
			break


import sys
(n, m) = map(int, input().split())
lis = list(map(int, input().split()))
a = set()
arg = []
for i in range(n):
	l = len(a)
	a.add(lis[i])
	if len(a) == l + 1:
		arg.append(i + 1)
if len(arg) >= m:
	print('YES')
	for i in range(m):
		print(arg[i], end=' ')
else:
	print('NO')


(totalEstudantes, tamTime) = [int(i) for i in input().split()]
ratings = [int(i) for i in input().split()]
estudantes = []
aux = []
for i in range(len(ratings)):
	if ratings[i] not in aux:
		aux.append(ratings[i])
		estudantes.append(i + 1)
if len(estudantes) >= tamTime:
	print('YES')
	for i in range(tamTime):
		print(estudantes[i], end=' ')
else:
	print('NO')


(n, k) = list(map(int, input().split()))
a = list(map(int, input().split()))
res = []
pos = []
for i in range(n):
	if a[i] not in pos:
		pos.append(a[i])
		res.append(i + 1)
		k -= 1
	if k == 0:
		break
if k > 0:
	print('NO')
else:
	print('YES')
	for i in range(len(res)):
		print(res[i], end=' ')


(n, k) = map(int, input().split())
a = input().split()
result = []
cache = []
for i in range(0, n):
	ai = int(a[i])
	if ai not in cache and len(result) < k:
		cache.append(ai)
		result.append(i)
if len(result) >= k:
	print('YES')
	for i in result:
		print(i + 1, end=' ')
else:
	print('NO')


n = list(map(int, input().split()))
k = n[1]
n = n[0]
a = list(map(int, input().split()))
for i in range(len(a)):
	c = [a[i], i]
	a[i] = c
a.sort()
c = 0
team = []
for i in range(len(a)):
	if c != a[i][0]:
		team.append(a[i][1] + 1)
		c = a[i][0]
if len(team) < k:
	print('NO')
else:
	print('YES')
	team = team[:k]
	print(*team)


(n, k) = map(int, input().split())
a = list(map(int, input().split()))
b = []
for i in range(n):
	b.append([a[i], i])
b.sort()
ans = [b[0][1]]
for i in range(n - 1):
	if b[i][0] != b[i + 1][0]:
		ans.append(b[i + 1][1])
if len(ans) < k:
	print('NO')
else:
	print('YES')
	for i in range(k):
		print(ans[i] + 1, end=' ')


(n, k) = map(int, input().split())
a = list(map(int, input().split()))
s = []
for i in range(n):
	b = True
	for j in s:
		if j[0] == a[i]:
			b = False
	if b:
		s.append([a[i], i + 1])
if k > len(s):
	print('NO')
else:
	print('YES')
	for i in range(k):
		print(s[i][1], end=' ')


(n, m) = map(int, input().split())
pre = list(map(str, input().split()))
l = list(dict.fromkeys(pre))[0:m]
for i in range(len(l)):
	l[i] = str(pre.index(l[i]) + 1)
if len(dict.fromkeys(l)) >= m:
	print('YES')
	print(' '.join(l))
else:
	print('NO')


(n, k) = map(int, input().split())
a = list(map(int, input().split()))
x = set()
for i in range(n):
	x.add(a[i])
if len(x) >= k:
	print('YES')
	cnt = 0
	for i in range(n):
		if a[i] in x:
			x.remove(a[i])
			print(i + 1, end=' ')
			cnt += 1
			if cnt == k:
				break
else:
	print('NO')


(a, b) = map(int, input().split())
l = list(map(int, input().split()))
re = []
had = []
for i in range(len(l)):
	if l[i] not in had:
		had.append(l[i])
		re.append(i + 1)
if len(re) >= b:
	print('YES')
	print(' '.join(map(str, re[:b])))
else:
	print('NO')


asw = []

def app():
	(n, k) = map(int, input().split(' '))
	students = list(map(int, input().split(' ')))
	distincts_students = {}
	for (index, student) in enumerate(students):
		if not student in distincts_students:
			distincts_students[student] = index
		if len(distincts_students) >= k:
			print('YES')
			for key in distincts_students:
				print(distincts_students[key] + 1, end=' ')
			print()
			return
	print('NO')
	return
app()


(a, b) = map(int, input().split())
s = list(map(int, input().split()))
r = set(s)
if len(r) < b:
	print('NO')
else:
	print('YES')
	t = list(r)
	for i in range(b):
		print(s.index(t[i]) + 1, end=' ')


(n, k) = map(int, input().split())
m = list(map(int, input().split()))
a = len(set(m))
if a < k:
	print('NO')
	exit()
print('YES')
score = []
ind = []
for i in range(n):
	if m[i] not in score:
		ind += [i + 1]
		score += [m[i]]
ind = ind[:k]
print(*ind, sep=' ')


(n, k) = map(int, input().split())
a = list(map(int, input().split()))
found = set()
inds = []
for i in range(n):
	if a[i] not in found:
		found.add(a[i])
		inds.append(i + 1)
		if len(inds) == k:
			print('YES')
			print(*inds)
			break
else:
	print('NO')


(m, n) = map(int, input().split())
l = input().split()
x = []
y = []
z = 0
for i in range(m):
	if z == n:
		break
	if l[i] not in x:
		x.append(l[i])
		y.append(str(i + 1))
		z = len(y)
if len(y) == n:
	print('YES')
	print(' '.join(y))
else:
	print('NO')


(n, k) = map(int, input().split())
a = list(map(int, input().split()))
list1 = []
list2 = []
for i in range(len(a)):
	if a[i] not in list1:
		list1.append(a[i])
		list2.append([a[i], i + 1])
list3 = []
if k <= len(list2):
	for i in range(k):
		list3.append(list2[i][1])
if k > len(list2):
	print('NO')
else:
	print('YES')
	print(*list3)


(n, k) = input().split()
k = int(k)
num = input().split()
num = list(map(int, num))
new_l = list(set(num))
if len(new_l) < k:
	print('NO')
else:
	to = []
	for _ in new_l:
		to.append(num.index(_) + 1)
	l = sorted(to)
	l = l[:k]
	print('YES')
	print(' '.join([str(x) for x in l]))


import sys
ipt = input().split()
n = int(ipt.pop(0))
k = int(ipt.pop(0))
std_ratings = [int(i) for i in input().split()]
ratings = []
positions = []
for i in range(0, n):
	if std_ratings[i] not in ratings:
		ratings.append(std_ratings[i])
		positions.append(i + 1)
if len(positions) >= k:
	print('YES')
	print(' '.join(map(str, positions[0:k])), sep=' ')
else:
	print('NO')


(n, k) = map(int, input().split())
L = list(map(int, input().split()))
r = 0
s = []
N = []
for i in L:
	if i not in s:
		s += [i]
		r += 1
		N += [L.index(i)]
if r >= k:
	print('YES')
	for i in range(k):
		print(N[i] + 1, end=' ')
else:
	print('NO')


(n, k) = map(int, input().split())
l = list(map(int, input().split()))
v = []
j = []
for i in range(n):
	if l[i] not in v:
		v.append(l[i])
		j.append(i)
		if len(j) == k:
			break
if len(j) == k:
	print('YES')
	b = [j + 1 for j in j]
	print(*b)
else:
	print('NO')


(n, k) = list(map(int, input().strip().split()))
values = list(map(int, input().strip().split()))
d = {}
res = []
for i in range(n):
	if values[i] not in d:
		res.append(str(i + 1))
		d[values[i]] = 1
if len(res) < k:
	print('NO')
else:
	print('YES')
	print(' '.join(res[:k]))


(n, k) = map(int, input().split())
a = list(map(int, input().split()))
if n < k or len(set(a)) < k:
	print('NO')
else:
	print('YES')
	l = []
	ind = []
	cur = 0
	for i in range(n):
		if a[i] not in l:
			l.append(a[i])
			cur += 1
			ind.append(i + 1)
		if cur == k:
			break
	print(*ind)


(n, m) = map(int, input().split())
c = []
a = list(map(int, input().split()))
b = a
b = list(set(b))
if len(b) < m:
	print('NO')
else:
	print('YES')
	for i in range(len(b)):
		if len(c) < m:
			c.append(a.index(b[i]) + 1)
		else:
			break
	c.sort()
	for i in c:
		print(i, end=' ')


(n, k) = map(int, input().split())
l = list(map(int, input().split()))
s = set()
s.update(l)
if len(s) < k:
	print('NO')
else:
	l1 = list(s)
	print('YES')
	for i in range(k):
		print(l.index(l1[i]) + 1, end=' ')


(n, k) = map(int, input().split())
a = dict(zip(map(int, input().split()), range(1, n + 1)))
if len(set(a)) >= k:
	print('YES')
	print(*list(a.values())[:k])
else:
	print('NO')


(n, k) = map(int, input().split())
(s, v) = (set(), [])
for (i, ai) in enumerate(input().split()):
	if ai not in s:
		s.add(ai)
		v.append(str(i + 1))
print('YES\n' + ' '.join(v[:k]) if len(v) >= k else 'NO')


s = input()
s = s.split(' ')
n = int(s[0])
k = int(s[1])
s = input()
s = s.split(' ')
se = set()
cnt = 0
for i in range(0, n):
	if not s[i] in se:
		se.add(s[i])
		cnt += 1
if cnt < k:
	print('NO')
else:
	print('YES')
	se.clear()
	cnt = 0
	for i in range(0, n):
		if not s[i] in se:
			se.add(s[i])
			print(i + 1)
			cnt += 1
		if cnt >= k:
			break


(n, k) = map(int, input().split())
l = list(map(int, input().split()))
se = set(l)
if len(se) < k:
	print('NO')
else:
	print('YES')
	na = list()
	for i in range(n):
		if l[i] not in na:
			na.append(l[i])
			print(i + 1, end=' ')
		if len(na) == k:
			break


a = [int(q) for q in input().strip().split()]
b = [int(q) for q in input().strip().split()]
c = list(set(b))
if len(c) < a[1]:
	print('NO')
else:
	print('YES')
	e = []
	t = 0
	for k in range(len(b)):
		if b[k] in c:
			e.append(str(k + 1))
			c.remove(b[k])
			t += 1
			if len(c) == 0 or t == a[1]:
				break
	print(' '.join(e))


(n, k) = map(int, input().split())
a = list(map(int, input().split()))
if n == 1:
	print('YES')
	print(*a)
	exit()
counter = 1
List = []
tmp = []
for i in range(len(a)):
	for j in range(i + 1, len(a)):
		if a[i] != a[j] and a[j] not in tmp:
			counter += 1
			List.append(j + 1)
			tmp.append(a[j])
		if counter == k:
			print('YES')
			print(*List, i + 1, sep=' ')
			exit()
	List = []
	counter = 1
print('NO')


n = input().split(' ')
x = int(n[0])
y = int(n[1])
w = input().split(' ')
q = set(w)
if q.__len__() >= y:
	print('YES')
	u = {w.index(z) + 1 for z in w if z in w}
	for i in range(y):
		print(u.pop(), end=' ')
else:
	print('NO')


(n, k) = map(int, input().split())
l = list(map(int, input().split()))
s = set(l)
o = []
oo = []
if len(s) < k:
	print('NO')
else:
	for i in range(len(l)):
		if l[i] not in o:
			o.append(l[i])
			oo.append(i + 1)
	print('YES')
	for i in range(k):
		print(oo[i], end=' ')


(n, k) = [int(x) for x in input().split()]
arr = [int(x) for x in input().split()]
a = [-1] * 101
for i in range(n):
	a[arr[i]] = i + 1
arrs = list(set(arr))
if len(arrs) < k:
	print('NO')
else:
	print('YES')
	idx = 0
	ti = 0
	while ti < k:
		if a[idx] != -1:
			print(a[idx], end=' ')
			ti += 1
		idx += 1


(n, k) = map(int, input().split())
a = list(map(int, input().split()))
b = set(a)
l = []
if len(b) >= k:
	print('YES')
	for i in b:
		l.append(a.index(i) + 1)
	r = sorted(l)
	for i in range(k):
		print(r[i], end=' ')
else:
	print('NO')


string = input().split(' ')
n = int(string[0])
k = int(string[1])
string = input().split(' ')
unique = set(string)
if len(unique) >= k:
	print('YES')
	printstring = ''
	for i in range(k):
		printstring = printstring + str(string.index(unique.pop()) + 1) + ' '
	print(printstring[:-1])
else:
	print('NO')


(n, m) = map(int, input().split())
s = list(map(int, input().split()))
st = list(set(s))
if len(st) >= m:
	print('YES')
	for i in range(m):
		print(s.index(st[i]) + 1, end=' ')
else:
	print('NO')


(n, k) = map(int, input().split())
mas = list(map(int, input().split()))
gas = list(set(mas))
if len(gas) < k:
	print('NO')
else:
	gas = gas[:k]
	print('YES')
	frs = []
	for el in gas:
		frs.append(str(mas.index(el) + 1))
	print(' '.join(frs))


(n, k) = map(int, input().split())
li = list(map(int, input().split()))
dic = {}
for i in range(n):
	if li[i] not in dic:
		dic[li[i]] = i
if len(dic) < k:
	print('NO')
else:
	print('YES')
	for i in list(dic.values())[:k]:
		print(i + 1, end=' ')


def do():
	(n, k) = map(int, input().split())
	dat = list(map(int, input().split()))
	cnt = 0
	res = []
	d = {}
	for i in range(len(dat)):
		if dat[i] in d:
			continue
		d[dat[i]] = True
		cnt += 1
		res.append(i + 1)
		if cnt == k:
			break
	if cnt >= k:
		print('YES')
		print(' '.join(list(map(str, res))))
	else:
		print('NO')
do()

def templ():
	from pprint import pprint
	q = int(input())
	for _ in range(q):
		s = input()
		n = int(input())
		(n, k) = map(int, input().split())
		dat = list(map(int, input().split()))
	dat = [1, 2, 3]
	print(' '.join(list(map(str, res))))
	pass
	import math
	math.ceil(1.2)
	math.floor(1.2)
	round(1.2, 3)


import os
import gc
import sys
from io import BytesIO, IOBase
from collections import Counter
from collections import deque
import heapq
import math
import statistics

def sin():
	return input()

def ain():
	return list(map(int, sin().split()))

def sain():
	return input().split()

def iin():
	return int(sin())
MAX = float('inf')
MIN = float('-inf')
MOD = 10 ** 9 + 7

def readTree(n, m):
	adj = [deque([]) for _ in range(n + 1)]
	for _ in range(m):
		(u, v) = ain()
		adj[u].append(v)
		adj[v].append(u)
	return adj

def solve(n):
	pass

def main():
	(n, k) = ain()
	l = ain()
	x = list(set(l))
	if len(x) < k:
		print('NO')
	else:
		print('YES')
		for i in range(k):
			j = x.pop()
			print(l.index(j) + 1, end=' ')
BUFSIZE = 8192

class FastIO(IOBase):
	newlines = 0

	def __init__(self, file):
		self._fd = file.fileno()
		self.buffer = BytesIO()
		self.writable = 'x' in file.mode or 'r' not in file.mode
		self.write = self.buffer.write if self.writable else None

	def read(self):
		while True:
			b = os.read(self._fd, max(os.fstat(self._fd).st_size, BUFSIZE))
			if not b:
				break
			ptr = self.buffer.tell()
			(self.buffer.seek(0, 2), self.buffer.write(b), self.buffer.seek(ptr))
		self.newlines = 0
		return self.buffer.read()

	def readline(self):
		while self.newlines == 0:
			b = os.read(self._fd, max(os.fstat(self._fd).st_size, BUFSIZE))
			self.newlines = b.count(b'\n') + (not b)
			ptr = self.buffer.tell()
			(self.buffer.seek(0, 2), self.buffer.write(b), self.buffer.seek(ptr))
		self.newlines -= 1
		return self.buffer.readline()

	def flush(self):
		if self.writable:
			os.write(self._fd, self.buffer.getvalue())
			(self.buffer.truncate(0), self.buffer.seek(0))

class IOWrapper(IOBase):

	def __init__(self, file):
		self.buffer = FastIO(file)
		self.flush = self.buffer.flush
		self.writable = self.buffer.writable
		self.write = lambda s: self.buffer.write(s.encode('ascii'))
		self.read = lambda : self.buffer.read().decode('ascii')
		self.readline = lambda : self.buffer.readline().decode('ascii')
(sys.stdin, sys.stdout) = (IOWrapper(sys.stdin), IOWrapper(sys.stdout))
input = lambda : sys.stdin.readline().rstrip('\r\n')
main()


(n, k) = list(map(int, input().split()))
students = list(map(int, input().split()))
team = []
team.append([students[0], 1])
for i in range(1, n):
	if len(team) == k:
		break
	possible = True
	for j in range(0, len(team)):
		if team[j][0] == students[i]:
			possible = False
	if possible:
		team.append([students[i], i + 1])
if len(team) == k:
	print('YES')
	for t in team:
		print('%d ' % t[1], end='')
	print()
else:
	print('NO')


(n, k) = map(int, input().split())
std = list(map(int, input().split()))
ratings = []
index = []
for i in range(n):
	if std[i] not in ratings:
		ratings.append(std[i])
		index.append(i + 1)
if len(ratings) < k:
	print('NO')
else:
	print('YES')
	for i in range(k):
		print(index[i], end=' ')


def teams(k, students):
	result = []
	indexes = []
	for i in range(len(students)):
		if students[i] not in result:
			result.append(students[i])
			indexes.append(i + 1)
			if len(result) == k:
				print('YES')
				print(*indexes)
				return
	print('NO')
inp = list(map(int, input().split()))
n = inp[0]
k = inp[1]
students = list(map(int, input().split()))
teams(k, students)


(n, k) = map(int, input().split())
l = [*map(int, input().split())]
s = [*set(l)]
if len(s) >= k:
	print('YES')
	print(*[l.index(e) + 1 for e in s[:k]])
else:
	print('NO')


(n, k) = map(int, input().split())
x = list(map(int, input().split()))
y = [1]
z = [x[0]]
for i in range(1, n):
	if len(y) == k:
		break
	elif x[i] not in z:
		z.append(x[i])
		y.append(i + 1)
if len(y) == k:
	print('YES')
	for i in y:
		print(i, end=' ')
else:
	print('NO')


(n, k) = map(int, input().split())
ar = list(map(int, input().split()))
ARI = []
ARN = []

def isARI(r, N):
	return ARI.count(r) == 0
for i in range(len(ar)):
	if isARI(ar[i], i):
		ARI.append(ar[i])
		ARN.append(i)
if len(ARI) < k:
	print('NO')
	exit(0)
print('YES')
s = ''
for i in range(k):
	s += str(ARN[i] + 1) + ' '
print(s)


def main():
	(n, k) = map(int, input().split())
	lit = []
	lit = list(map(int, input().split()))
	klist = list(set(lit))
	if len(klist) >= k:
		print('YES')
		for i in range(k):
			print(lit.index(klist[i]) + 1, end=' ')
	else:
		print('NO')
main()


import sys
from math import *
readints = lambda : map(int, input().strip('\n').split())
(n, k) = readints()
a = list(readints())
inds = {}
for i in range(1, n + 1):
	inds[a[i - 1]] = i
if len(set(a)) < k:
	print('NO')
else:
	print('YES')
	res = list(map(lambda x: inds[x], list(set(a))[:k]))
	print(*res, sep=' ')


import math, string, itertools, fractions, heapq, collections, re, array, bisect, sys, random, time, queue, copy
sys.setrecursionlimit(10 ** 7)
inf = 10 ** 20
mod = 10 ** 9 + 7
dd = [(-1, 0), (0, 1), (1, 0), (0, -1)]
ddn = [(-1, 0), (-1, 1), (0, 1), (1, 1), (1, 0), (1, -1), (0, -1), (-1, -1)]

def LI():
	return [int(x) for x in sys.stdin.readline().split()]

def LI_():
	return [int(x) - 1 for x in sys.stdin.readline().split()]

def I():
	return int(sys.stdin.readline())

def LS():
	return sys.stdin.readline().split()

def S():
	return input()

def main():
	(n, k) = LI()
	l = [[i, x] for (i, x) in enumerate(LI())]
	l = sorted(l, key=lambda x: x[1])
	a = l[0][1]
	ans = []
	ans.append(l[0][0] + 1)
	for x in l[1:]:
		if x[1] != a:
			ans.append(x[0] + 1)
		a = x[1]
	if len(ans) >= k:
		print('YES')
		print(' '.join([str(x) for x in ans[:k]]))
	else:
		print('NO')
main()


(n, k) = [int(x) for x in input().split(' ')]
a = [int(x) for x in input().split(' ')]
if len(set(a)) < k:
	print('NO')
else:
	print('YES')
	tmp = []
	tracked = []
	for i in range(len(a)):
		if len(tmp) == k:
			break
		if a[i] in tracked:
			continue
		else:
			tracked.append(a[i])
			tmp.append(i + 1)
	for x in tmp:
		print(x, end=' ')


(N, K) = map(int, input().split())
l = list(map(int, input().split()))
L = []
for i in l:
	if i not in L:
		L.append(i)
distinct = len(L)
l1 = []
c = 0
for i in L:
	if c == K:
		break
	c += 1
	l1.append(l.index(i))
	l1[len(l1) - 1] += 1
if distinct < K:
	print('NO')
else:
	print('YES')
	print(*l1)


a = input()
b = input()
a_list = list(map(int, a.split(' ')))
b_list = list(map(int, b.split(' ')))
count_set = set(b_list)
n = a_list[0]
k = a_list[1]
set_list = list()
for ix in list(count_set):
	set_list.append(b_list.index(ix) + 1)
set_list.sort()
if len(count_set) < k:
	print('NO')
else:
	print('YES')
	for i in range(0, k):
		print(set_list[i], end=' ')


(n, k) = [int(i) for i in input().split()]
a = [int(i) for i in input().split()]
a2 = []
c = 0
i = 0
if k <= len(set(a)):
	print('YES')
	while c != k:
		if a[i] not in a2:
			print(i + 1, end=' ')
			a2.append(a[i])
			c += 1
		i += 1
else:
	print('NO')


import os, sys
(n, t) = map(int, input().strip().split(' '))
lis = list(map(int, input().strip().split(' ')))
lis2 = [x for x in range(1, len(lis) + 1)]
if len(set(lis)) < t:
	print('NO')
else:
	setuim = list(set(lis))[:t]
	print('YES')
	for x in range(t):
		print(lis.index(setuim[x]) + 1, end=' ')
	print()


(n, g) = map(int, input().split())
l = list(map(int, input().split()))
(k, h) = ({}, [])
if len(set(l)) >= g:
	print('YES')
	for i in range(n):
		if l[i] in k:
			pass
		else:
			k[l[i]] = i + 1
			h.append(i + 1)
	for i in range(g):
		print(h[i], end=' ')
else:
	print('NO')


def inp():
	return map(int, input().split())

def arr_inp():
	return [int(x) for x in input().split()]

def print_arr(arr):
	print(*arr, sep=' ')
(n, k) = inp()
a = arr_inp()
dis = {}
for i in range(n):
	if k == 0:
		break
	if a[i] not in dis.values():
		dis[str(i + 1)] = a[i]
		k -= 1
if k == 0:
	print('YES')
	print_arr(dis.keys())
else:
	print('NO')


(n, k) = map(int, input().split())
x = [int(x) for x in input().split()]
y = list(set(x))
if len(y) >= k:
	print('YES')
	for i in range(k):
		print(1 + x.index(y[i]), end=' ')
else:
	print('NO')


(n, k) = tuple(map(int, input().split()))
scores = list(map(int, input().split()))
scores_set = set(scores)
indices = []
if len(scores_set) < k:
	print('NO')
else:
	j = 0
	for i in range(n):
		if scores[i] in scores_set:
			indices.append(i + 1)
			scores_set.remove(scores[i])
			j += 1
			if j == k:
				break
	print('YES')
	print(*indices, sep=' ')


(m, n) = map(int, input().split())
a = list(map(int, input().split()))
b = list(set(a))
if len(b) >= n:
	print('YES')
	for t in range(n):
		print(a.index(b[t]) + 1)
else:
	print('NO')


(n, k) = map(int, input().split())
l = list(map(int, input().split()))
mp = dict()
for (i, j) in enumerate(l):
	mp[j] = i + 1
if len(mp) < k:
	print('NO')
else:
	print('YES')
	print(*list(mp.values())[:k])


import sys
import math
(n, k) = map(int, input().split())
lista = [int(x) for x in input().strip().split()]
conta = [0 for i in range(101)]
inde = []
for i in range(n):
	if conta[lista[i]] == 0:
		conta[lista[i]] = 1
		inde.append(i + 1)
if len(inde) >= k:
	print('YES')
	for i in range(k):
		print(inde[i], end=' ')
else:
	print('NO')


(x, y) = [int(a) for a in input().split()]
z = [int(a) for a in input().split()]
many = list(set(z))
if len(many) >= y:
	print('YES')
	for i in range(y):
		print(z.index(many[i]) + 1)
else:
	print('NO')


(n, k) = map(int, input().split())
ratings = list(map(int, input().split()))
rating2student_idx = {}
for i in range(n):
	rating = ratings[i]
	if rating not in rating2student_idx:
		rating2student_idx[rating] = i + 1
if len(rating2student_idx) >= k:
	num_added = 0
	student_idxs_output = ''
	for (rating, student_idx) in rating2student_idx.items():
		student_idxs_output += str(student_idx)
		num_added += 1
		if num_added < k:
			student_idxs_output += ' '
		else:
			break
	print('YES')
	print(student_idxs_output)
else:
	print('NO')


(n, k) = map(int, input().split())
a = list(map(int, input().split()))
d = {i for i in a}
if k > len(d):
	print('NO')
	exit()
print('YES')
l = []
for i in d:
	l.append(str(a.index(i) + 1))
	if len(l) == k:
		break
print(' '.join(l))


(n, k) = map(int, input().split())
a = [int(i) for i in input().split()]
d = []
ans = []
for i in range(n):
	if a[i] not in d:
		d.append(a[i])
		ans.append(i + 1)
if len(ans) >= k:
	print('YES')
	for i in range(k):
		print(ans[i], end=' ')
else:
	print('NO')


(n, k) = map(int, input().split(' '))
s = {}
for (i, el) in enumerate(map(int, input().split(' '))):
	s[el] = i + 1
	if len(s) == k:
		break
if len(s) == k:
	print('YES')
	print(' '.join(map(str, s.values())))
else:
	print('NO')


(n, k) = map(int, input().split())
a = list(map(int, input().split()))
if len(set(a)) < k:
	print('NO')
else:
	team = list(set(a))
	solution = [None] * k
	for i in range(k):
		solution[i] = a.index(team[i]) + 1
	print(f"YES\n{' '.join(map(str, solution))}")


(n, k) = map(int, input().split())
arr = [int(x) for x in input().split()]
dist = {}
for (ind, val) in enumerate(arr):
	if val not in dist:
		dist[val] = str(ind + 1)
ans = list(dist.values())
if len(ans) >= k:
	print('YES')
	print(' '.join(ans[:k]))
else:
	print('NO')


(n, m) = map(int, input().split())
a = list(map(int, input().split()))
dict = {}
ans = []
for i in range(n):
	if a[i] in dict:
		pass
	else:
		dict[a[i]] = 1
		ans.append(i + 1)
if len(ans) >= m:
	print('YES')
	for i in range(m):
		print(ans[i], end=' ')
else:
	print('NO')


(n, m) = map(int, input().split())
a = [int(i) for i in input().split()]
cpy = list(set(a.copy()))
if m > len(cpy):
	print('NO')
else:
	print('YES')
	for i in range(m):
		print(a.index(cpy[i]) + 1, end=' ')


(n, k) = map(int, input().split())
a = list(map(int, input().split()))
i = 0
if len(set(a)) < k:
	print('NO')
else:
	print('YES')
	b = list(set(a))
	while k:
		c = a.index(b[i]) + 1
		print(c, end=' ')
		i += 1
		k -= 1


inp = input().split()
n = inp[0]
k = int(inp[1])
a = input().split()
l = []
out = []
for i in range(len(a)):
	if not int(a[i]) in l:
		k -= 1
		l.append(int(a[i]))
		out.append(str(i + 1))
	if k == 0:
		print('YES')
		print(' '.join(out))
		break
if k > 0:
	print('NO')


try:
	(n, k) = map(int, input().split())
	arr = list(map(int, input().split()))
	reSet = set(arr)
	if len(set(arr)) >= k:
		res = [arr.index(x) + 1 for x in reSet]
		res.sort()
		print('YES')
		for ele in range(0, k):
			print(res[ele], end=' ')
	else:
		print('NO')
	pass
except Exception:
	pass


(n, k) = map(int, input().split())
rating = list(map(int, input().split()))
ans = list(set([a for a in rating]))
final = []
if len(ans) < k:
	print('NO')
elif len(ans) >= k:
	print('YES')
	for x in ans:
		final.append(rating.index(x) + 1)
finalresult = sorted(set(final))[:k]
for x in finalresult:
	print(x, end=' ')


def comand(lst, n):
	d = list()
	if n == 1 and len(lst) == 1:
		d.append(lst.index(lst[0]) + 1)
		return d
	elif n == 1 and len(lst) > 1:
		d.append(lst.index(lst[0]) + 1)
		return d
	a = set(lst)
	if len(set(lst)) < n:
		return False
	elif len(a) == 1 and n == 1:
		d.append(lst.index(lst[0]) + 1)
		return d
	elif len(a) > n:
		for i in range(n):
			for elem in a:
				d.append(lst.index(elem) + 1)
		return d[:n]
	c = list()
	for elem in a:
		c.append(lst.index(elem) + 1)
	return c
(number, m) = [int(i) for i in input().split()]
b = [int(j) for j in input().split()]
if not comand(b, m):
	print('NO')
else:
	print('YES')
	print(*comand(b, m))


(z, zz) = (input, lambda : list(map(int, z().split())))
zzz = lambda : [int(i) for i in stdin.readline().split()]
(szz, graph, mod, szzz) = (lambda : sorted(zz()), {}, 10 ** 9 + 7, lambda : sorted(zzz()))
from string import *
from re import *
from collections import *
from queue import *
from sys import *
from collections import *
from math import *
from heapq import *
from itertools import *
from bisect import *
from collections import Counter as cc
from math import factorial as f
from bisect import bisect as bs
from bisect import bisect_left as bsl
from itertools import accumulate as ac
from itertools import permutations as permu

def lcd(xnum1, xnum2):
	return xnum1 * xnum2 // gcd(xnum1, xnum2)

def prime(x):
	p = ceil(x ** 0.5) + 1
	for i in range(2, p):
		if x % i == 0 and x != 2 or x == 0:
			return 0
	return 1

def dfs(u, visit, graph):
	visit[u] = True
	for i in graph[u]:
		if not visit[i]:
			dfs(i, visit, graph)
num = 1
for _ in range(num):
	(n, m) = zz()
	arr = zzz()
	lst = list(set(arr[:]))
	if len(lst) >= m:
		print('YES')
		for i in lst[:m]:
			print(arr.index(i) + 1)
	else:
		print('NO')


(n, m) = map(int, input().split())
l = list(map(int, input().split()))
a = set(l)
if len(a) >= m:
	print('YES')
	a = list(a)
	for i in range(0, m):
		print(l.index(a[i]) + 1, end=' ')
else:
	print('NO')


(n, k) = input().split(' ')
n = int(n)
k = int(k)
lista = list(map(int, input().split(' ')))
team = []
add = 1
for i in range(len(lista)):
	if len(team) == 0:
		team.append(i + 1)
		if len(team) == k:
			print('YES')
			print(*team, sep=' ')
			exit()
		continue
	for y in team:
		if lista[i] == lista[y - 1]:
			add = 0
	if add == 1:
		team.append(i + 1)
	if len(team) == k:
		print('YES')
		print(*team, sep=' ')
		exit()
	add = 1
print('NO')


(n, teamSize) = map(int, input().split())
ratings = list(map(int, input().strip().split()))
ratingsSet = list(set(ratings))
res = []
if len(ratingsSet) < teamSize:
	print('NO')
else:
	print('YES')
	for i in range(teamSize):
		print(ratings.index(ratingsSet[i]) + 1, end=' ')


(m, n) = map(int, input().split())
nums = list(map(int, input().split()))
new = []
indi = []
for i in range(len(nums)):
	if nums[i] not in new:
		new.append(nums[i])
		indi.append(i + 1)
if len(new) < n:
	print('NO')
else:
	print('YES')
	for j in range(n):
		print(indi[j], end=' ')


(n, k) = [int(x) for x in input().split()]
l = [int(x) for x in input().split()]
s = set()
for e in l:
	s.add(e)
if len(s) < k:
	print('NO')
else:
	print('YES')
	count = 0
	for i in range(n):
		if l[i] in s:
			s.remove(l[i])
			print(i + 1, end=' ')
			count += 1
		if count == k:
			break
	print()


(n, k) = [int(x) for x in input().split()]
arr = [int(x) for x in input().split()]
s = set(arr)
if k > len(s):
	print('NO')
else:
	print('YES')
	for i in range(n):
		if arr[i] in s and k > 0:
			print(i + 1, end=' ')
			s.remove(arr[i])
			k -= 1


(n, m) = map(int, input().split())
a = list(map(int, input().split()))
r = []
t = []
for i in range(len(a)):
	if not a[i] in r:
		r.append(a[i])
		t.append(i + 1)
if len(r) < m:
	print('NO')
else:
	print('YES')
	for i in range(m):
		print(t[i], end=' ')


(n, k) = map(int, input().split())
l = list(map(int, input().split()))
s = set(l)
if len(s) < k:
	print('NO')
else:
	print('YES')
	c = 0
	for x in s:
		if c == k:
			break
		c += 1
		for i in range(n):
			if l[i] == x:
				print(i + 1, end=' ')
				l[i] = -1
				break


(n, k) = [int(x) for x in input().split()]
a = [int(x) for x in input().split()]

def unique(v):
	d = {}
	for (i, key) in enumerate(v):
		if key in d.keys():
			pass
		else:
			d[key] = i + 1
	return d
f = unique(a)
if len(f) >= k:
	print('YES')
	print(' '.join([str(x) for x in f.values()][:k]))
else:
	print('NO')


(n, k) = [int(a) for a in input().split()]
lst = [int(a) for a in input().split()]
st = set(lst)
if len(st) < k:
	print('NO')
else:
	print('YES')
	for j in range(k):
		r = st.pop()
		for (i, o) in enumerate(lst):
			if r == o:
				print(i + 1, end=' ')
				break


(a, b) = map(int, input().split())
c = list(map(int, input().split()))
d = list(set(c))
if len(d) >= b:
	print('YES')
	for i in range(b):
		print(c.index(d[i]) + 1, end=' ')
else:
	print('NO')


imput_str = input()
input_num = [int(x) for x in imput_str.split()]
n = input_num[0]
k = input_num[1]
a = [int(x) for x in input().split()]
rating_set = set(a)
if len(rating_set) < k:
	print('NO')
else:
	print('YES')
	answer = ''
	count = 0
	for i in range(len(a)):
		if a[i] in rating_set:
			answer += str(i + 1) + ' '
			rating_set.remove(a[i])
			count += 1
			if count == k:
				break
	print(answer[:-1])


(n, s) = [int(s) for s in input().split()]
l = [int(s) for s in input().split()]
l1 = set(l)
x = []
if s > len(l1):
	print('NO')
else:
	j = 0
	for i in l1:
		x.append(l.index(i) + 1)
		j += 1
		if j == s:
			break
	print('YES')
	x.sort()
	print(' '.join((str(s) for s in x)))


nk = input().split()
n = int(nk[0])
k = int(nk[1])
arr = []
i = 0
mp = dict()
_in = input().split()
while i < n:
	tmp = int(_in[i])
	mp[tmp] = i + 1
	i += 1
if len(mp) < k:
	print('NO')
else:
	print('YES')
	i = 0
	for c in mp:
		print(mp[c], end='')
		i += 1
		if i >= k:
			break
		else:
			print(' ', end='')


(n, k) = map(int, input().split())
a = list(map(int, input().split()))
no_distinct_element = len(set(a))
if no_distinct_element < k:
	print('NO')
else:
	print('YES')
	print(*[a.index(i) + 1 for i in list(set(a))[:k]])


(n, k) = map(int, input().split())
s = [0 for i in range(101)]
st = input().split()
p = []
c = 0
for i in range(len(st)):
	if s[int(st[i])] == 0:
		s[int(st[i])] = 1
		c += 1
		p.append(i + 1)
if c >= k:
	print('YES')
	for i in range(k):
		print(p[i], end=' ')
else:
	print('NO')


(n, k) = map(int, input().split())
a = list(map(int, input().split()))
r = set()
s = set()
for i in range(n):
	if a[i] not in r:
		r.add(a[i])
		s.add(i + 1)
	if len(s) == k:
		print('YES')
		print(' '.join(map(str, s)))
		break
if len(s) < k:
	print('NO')


(n, k) = map(int, input().split(' '))
l = list(map(int, input().split()))
ct = 0
ctr = 1
l3 = [l[0]]
l2 = l[:]
l2.sort()
f = [0] * 101
for i in l2:
	f[i] += 1
for i in range(101):
	if f[i] > 0:
		ct += 1
if ct >= k:
	print('YES')
	print('1', end=' ')
	for i in range(1, n):
		if l[i] not in l3:
			print(i + 1, end=' ')
			l3.append(l[i])
			ctr += 1
			if ctr == k:
				break
else:
	print('NO')


(n, k) = map(int, input().split())
lst = [int(i) for i in input().split()]
used = []
ans = []
for i in range(len(lst)):
	if lst[i] not in used:
		used.append(lst[i])
		ans.append((lst[i], i + 1))
if len(used) < k:
	print('NO')
	exit()
print('YES')
for i in range(k):
	print(ans[i][1])


(n, k) = map(int, input().split())
l = list(map(int, input().split()))
r = [l[0]]
u = [1]
for i in range(n):
	if l[i] not in r:
		u.append(i + 1)
		r.append(l[i])
if len(u) < k:
	print('NO')
else:
	print('YES')
	print(*u[:k])


(n, k) = map(int, input().split())
l = list(map(int, input().split()))
ls = set(l)
if len(ls) >= k:
	print('YES')
	ans = []
	for i in ls:
		ans.append(l.index(i) + 1)
	ans = ans[:k]
	print(*ans)
else:
	print('NO')


input1 = input()
input2 = input()
input1s = input1.split(' ')
n = int(input1s[0])
k = int(input1s[1])
students = input2.split(' ')
result = []
team = []
for i in range(n):
	student = students[i]
	if student not in team:
		team.append(student)
		result.append(str(i + 1))
		k -= 1
		if k <= 0:
			break
if k > 0:
	print('NO')
else:
	print('YES')
	print(' '.join(result))


(a, b) = input().split()
a = int(a)
b = int(b)
l = []
x = [int(x) for x in input().split()]
if len(set(x)) < b:
	print('NO')
else:
	print('YES')
	l.append(x[0])
	print('1', end=' ')
	for i in range(1, a):
		if x[i] not in l:
			l.append(x[i])
			print(i + 1, end=' ')
		if len(l) >= b:
			break


def answer():
	a = input().split()
	b = input().split()
	k = int(a[1])
	c = []
	for x in b:
		if x not in c:
			c.append(x)
	if len(c) >= k:
		print('YES')
		c_out = ''
		i = 0
		while i < int(a[1]):
			c_out += str(b.index(c[i]) + 1)
			i += 1
			if i != len(c):
				c_out += ' '
		print(c_out)
	else:
		print('NO')
answer()


(n, k) = map(int, input().split())
ai = list(map(int, input().split()))
sets = list(set(ai))[:k]
if len(sets) == k:
	print('YES')
	print(*sorted([ai.index(i) + 1 for i in sets]))
else:
	print('NO')


(n, k) = map(int, input().split())
a = input().split()

def solve(n, k, a):
	ans = []
	s = set(a)
	if len(s) < k:
		return 'NO'
	elif len(s) >= k:
		for el in s:
			if len(ans) == k:
				break
			ans.append(a.index(el) + 1)
		return 'YES\n%s' % ' '.join(map(str, ans))
print(solve(n, k, a))


R = lambda : map(int, input().split())
(n, k) = R()
a = list(R())
ans = []
ind = []
for x in a:
	if x not in ans:
		ans.append(x)
		ind.append(a.index(x) + 1)
if len(ind) >= k:
	ind = ind[:k]
	ind = [str(i) for i in ind]
	print('YES')
	print(' '.join(ind))
else:
	print('NO')


(n, k) = map(int, input().split())
a = list(map(int, input().split()))
x = set()
s = set()
for i in range(len(a)):
	if len(x) == k:
		break
	if a[i] not in s:
		s.add(a[i])
		x.add(i + 1)
if len(x) >= k:
	print('YES')
	print(*x)
else:
	print('NO')


(n, k) = map(int, input().split())
d = {}
i = 1
for val in input().split():
	if val in d:
		pass
	else:
		d[val] = i
	i += 1
if len(d) < k:
	print('NO')
else:
	print('YES')
	i = 0
	for val in d:
		print(d[val], end=' ')
		i += 1
		if i == k:
			break


import sys
(n, k) = map(int, input().split())
lst = list(map(int, input().split()))
new_lst = list(set(lst))
if len(new_lst) >= k:
	print('YES')
	for i in range(len(new_lst)):
		if i == k:
			break
		sys.stdout.write(str(lst.index(new_lst[i]) + 1) + ' ')
else:
	print('NO')


q = lambda : map(int, input().split())
qi = lambda : int(input())
qs = lambda : input().split()
(n, m) = q()
a = list(q())
if len(set(a)) < m:
	print('NO')
else:
	print('YES')
	print(*[a.index(i) + 1 for i in set(a)][0:m])


from sys import stdin, stdout

def main():
	(n, k) = [int(x) for x in stdin.readline().split()]
	a = [int(x) for x in stdin.readline().split()]
	res = []
	support = []
	for i in range(len(a)):
		x = a[i]
		new = 1
		for y in support:
			if x == y:
				new = 0
		if new:
			support.append(x)
			res.append(i)
	if len(res) < k:
		stdout.write('NO')
	else:
		stdout.write('YES\n')
		for i in range(0, k):
			stdout.write(str(res[i] + 1) + ' ')
main()


x = input()
x = x.split()
n = int(x[0])
k = int(x[1])
x = input()
x = x.split()
for i in range(len(x)):
	x[i] = int(x[i])
dist = 0
scores = []
pos = ''
for i in range(len(x)):
	if dist == k:
		break
	if x[i] in scores:
		dist = dist
	else:
		scores.append(x[i])
		dist = dist + 1
		pos = pos + str(i + 1) + ' '
if dist < k:
	print('NO')
else:
	print('YES')
	print(pos)


(x, y) = map(int, input().split())
A = list(map(int, input().split()))
(dict, n, m, count) = ({}, [], [], 0)
for i in range(len(A)):
	dict.update({A[i]: i + 1})
if len(dict) >= y:
	for (key, values) in dict.items():
		n.append(str(values))
	for i in range(len(n)):
		m.append(n[i])
		count += 1
		if count == y:
			break
	print('YES')
	print(' '.join(m))
elif len(dict) < y:
	print('NO')


(number, size) = map(int, input().split())
ratings_lst = [int(x) for x in input().split()]
team = set()
answers = []
for i in ratings_lst:
	team.add(i)
if len(team) >= size:
	print('YES')
	for i in team:
		answers.append(ratings_lst.index(i) + 1)
	print(' '.join(map(str, answers[0:size])))
else:
	print('NO')


(m, n) = map(int, input().split())
a = list(map(int, input().split()))
b = set(a)
b = list(b)
finalarr = []
if len(b) >= n:
	print('YES')
	for i in range(n):
		for j in range(len(a)):
			if b[i] == a[j]:
				finalarr.append(j + 1)
				break
			else:
				continue
	finalarr.sort()
	print(*finalarr)
else:
	print('NO')


(n, k) = map(int, input().split())
x = [*map(int, input().split())]
dad = dict()
a = []
c = 0
for (n, i) in enumerate(x):
	if dad.get(i, 0) == 0:
		a.append(n + 1)
		c += 1
	if c == k:
		break
	dad[i] = 1
if c < k:
	print('NO')
else:
	print('YES')
	for i in a:
		print(i, end=' ')


(n, k) = [int(i) for i in input().split()]
students = [int(i) for i in input().split()]
dic = {}
for i in range(n):
	if students[i] in dic:
		dic[students[i]].append(i)
	else:
		dic[students[i]] = [i]
sette = set(students)
if len(sette) >= k:
	print('YES')
	count = 0
	for i in sette:
		print(dic[i][0] + 1, end=' ')
		count += 1
		if count >= k:
			break
	print()
else:
	print('NO')


(a, b) = map(int, input().split())
c = list(map(int, input().split()))
x = []
t = []
p = 0
l = 0
q = []
k = 0
for i in range(len(c)):
	t.append(c[p])
	p = p + 1
for ir in range(len(c)):
	if not c[l] in x:
		x.append(c[l])
		q.append(l)
	l = l + 1
if len(x) < b:
	print('NO')
else:
	print('YES')
	for il in range(b):
		print(q[k] + 1, end=' ')
		k = k + 1


(n, k) = list(map(int, input().split()))
a = list(map(int, input().split()))
team = []
positions = []
for i in range(n):
	if len(team) < k:
		if i == 0:
			team.append(a[0])
			positions.append(i + 1)
			continue
		if a[i] in team:
			continue
		team.append(a[i])
		positions.append(i + 1)
	else:
		break
if len(team) < k:
	print('NO')
else:
	print('YES')
	for elem in positions:
		print(elem, end=' ')


(n, k) = map(int, input().split())
l = list(map(int, input().split()))
a = []
c = 0
for i in range(n):
	if l[i] not in a:
		a.append(l[i])
		c += 1
	if c == k:
		print('YES')
		for i in a:
			print(l.index(i) + 1, end=' ')
		break
else:
	print('NO')


def select_people(k, numbers):
	indices = []
	distinct_points = set()
	i = 0
	while k > len(indices) and i < len(numbers):
		if numbers[i] not in distinct_points:
			indices.append(i + 1)
			distinct_points.add(numbers[i])
		i += 1
	return indices

def diverse_team(k, numbers):
	distinct_points = set(numbers)
	if len(distinct_points) >= k:
		print('YES')
		print(' '.join(map(str, select_people(k, numbers))))
	else:
		print('NO')
(n, k) = map(int, input().split())
numbers = list(map(int, input().split()))
diverse_team(k, numbers)


from math import log
(n, k) = map(int, input().split())
ai = list(map(int, input().split()))
s = set()
ai2 = []
for i in range(n):
	if ai[i] not in s:
		ai2 += [i + 1]
	s.add(ai[i])
if len(s) >= k:
	print('YES')
	for i in range(k):
		print(ai2[i], end=' ')
else:
	print('NO')


l = list(map(int, input().split()))
n = l[0]
k = l[1]
d = {}
l1 = list(map(int, input().split()))
for i in range(0, n):
	if l1[i] not in d:
		d[l1[i]] = i + 1
l2 = sorted(d.values())
if k > len(l2):
	print('NO')
else:
	print('YES')
	for i in range(0, k):
		print(l2[i], end=' ')


(n, k) = list(map(int, input().split(' ')))
rating = list(map(int, input().split(' ')))
group = []
aux_group = []
for i in range(n):
	if rating[i] not in aux_group and len(group) != k:
		aux_group.append(rating[i])
		group.append(i + 1)
	elif len(group) == k:
		break
if len(group) == k:
	print('YES')
	print(' '.join(map(str, group)))
else:
	print('NO')


(n, k) = map(int, input().split(' '))
X = [int(x) for x in input().split(' ')]
if len(set(X)) >= k:
	print('YES')
	v = []
	z = []
	A = list(set(X))
	for i in range(k):
		v.append(A[i])
	for i in range(k):
		for j in range(n):
			if X[j] == v[i]:
				z.append(j + 1)
				break
	print(' '.join((str(c) for c in z)))
else:
	print('NO')


(n, k) = map(int, input().split())
scores = list(map(int, input().split()))
for (i, s) in enumerate(scores):
	scores[i] = (s, i)
scores.sort()
p = [scores[0][1]]
for i in range(1, len(scores)):
	if scores[i][0] != scores[i - 1][0]:
		p.append(scores[i][1])
if len(p) >= k:
	print('YES')
	print(' '.join(map(lambda x: str(x + 1), p[:k])))
else:
	print('NO')


(n, k) = map(int, input().split())
a = input().split()
b = set(a)
if len(b) < k:
	print('NO')
else:
	print('YES')
	print(' '.join([str(a.index(e) + 1) for e in list(b)[:k]]))


def ccrs():
	return '7ata linfo ja maset'
(n, k) = map(int, input().split())
l = list(map(int, input().split()))
s = set()
m = []
for i in range(len(l)):
	if l[i] not in s:
		s.add(l[i])
		m.append(i)
if len(s) < k:
	print('NO')
else:
	print('YES')
	for i in range(k):
		print(m[i] + 1, end=' ')


(numberOfStudents, teamSize) = map(int, input().split())
ratings = list(map(int, input().split()))
setList = list(set(ratings))
ans = [str(ratings.index(x) + 1) for x in setList]
if len(set(ratings)) >= teamSize:
	print('YES')
	print(' '.join(ans[0:teamSize]))
else:
	print('NO')


(n, k) = map(int, input().split())
seq = [int(x) for x in input().split()]
if len(set(seq)) < k:
	print('NO')
else:
	prev = set()
	count = 0
	print('YES')
	for i in range(len(seq)):
		if count == k:
			break
		if seq[i] not in prev:
			print(i + 1, end=' ')
			count = count + 1
		prev.add(seq[i])


read = lambda : map(int, input().split())
(n, k) = read()
a = []
b = []
index = 1
for x in read():
	if x not in a:
		a.append(x)
		if len(b) < k:
			b.append(index)
	index += 1
if len(b) == k:
	print('YES')
	print(*b)
else:
	print('NO')


(n, k) = map(int, input().split())
s = list(map(int, input().split()))
res = list()
ind = list()
for i in range(n):
	if not s[i] in res:
		res.append(s[i])
		ind.append(i)
if len(res) < k:
	print('NO')
else:
	print('YES')
	for i in range(k):
		print(ind[i] + 1, end=' ')


(n, k) = map(int, input().split())
line = list(map(int, input().split()))
set_line = list(set(line))
if len(set_line) >= k:
	print('YES')
	for i in range(k):
		print(line.index(set_line[i]) + 1, end=' ')
else:
	print('NO')


(a, b) = map(int, input().split())
c = [int(c) for c in input().split()]
d = []
e = []
for i in c:
	if i not in d:
		d.append(i)
		e.append(c.index(i) + 1)
		if len(d) == b:
			break
if len(d) < b:
	print('NO')
else:
	print('YES')
	print(*e)


def main():
	(n, m) = [int(v) for v in input().split()]
	vals = [int(v) for v in input().split()]
	d = list(enumerate(vals))
	if len(set(vals)) >= m:
		print('YES')
		c = list(set(vals))[0:m]
		res = []
		for dd in c:
			for e in d:
				if e[1] == dd:
					res.append(str(e[0] + 1))
					break
		print(' '.join(res))
	else:
		print('NO')
main()


from collections import OrderedDict
(stud_1, team_num) = input().split()
(stud_1, team_num) = (int(stud_1), int(team_num))
rating_list = input().split()
rating_list1 = map(lambda x: int(x), rating_list)
rating_list1 = list(rating_list1)
non_d = []
non_d_in = []
for (pos, ele) in enumerate(rating_list1):
	if ele not in non_d:
		non_d.append(ele)
		non_d_in.append(pos + 1)
if len(non_d) >= team_num:
	print('YES')
	non_d_in = non_d_in[0:team_num]
	print(' '.join(map(str, non_d_in)))
else:
	print('NO')


(n, k) = map(int, input().split())
arr = list(map(int, input().split()))
s1 = set()
for i in range(n):
	s1.add(arr[i])
if len(s1) >= k:
	print('YES')
	count = 0
	for i in s1:
		print(arr.index(i) + 1, end=' ')
		count += 1
		if count == k:
			break
	print('')
else:
	print('NO')


(n, k) = [int(el) for el in input().split()]
a_list = [int(el) for el in input().split()]
a_set = set(a_list)
if len(a_set) < k:
	print('NO')
else:
	print('YES')
	for j in range(k):
		rate = a_set.pop()
		for (i, ai) in enumerate(a_list):
			if rate == ai:
				print(i + 1, end=' ')
				break


(n, m) = map(int, input().split(' '))
l = list(map(int, input().split(' ')))
l1 = set(l)
c = 0
l2 = []
l3 = []
if len(l1) >= m:
	print('YES')
	for i in range(len(l)):
		if l[i] not in l3:
			l3.append(l[i])
			l2.append(i + 1)
			c += 1
			if m == c:
				break
	for i in l2:
		print(i, end=' ')
else:
	print('NO')


def parseInt(s):
	return int(s)

def g():
	arrlen = list(map(parseInt, input().split()))
	arr = list(map(parseInt, input().split()))
	flag = False
	res1 = []
	res2 = []
	for i in range(arrlen[0]):
		item = arr[i]
		if item not in res1:
			res1.append(item)
			res2.append(i + 1)
		if len(res1) is arrlen[1]:
			print('YES')
			resu = ''
			for result in res2:
				resu += str(result) + ' '
			print(resu)
			flag = True
			break
	if not flag:
		print('NO')
g()


(n, k) = map(int, input().split(' '))
a = list(map(int, input().split(' ')))
z = [0] * (max(a) + 1)
for i in range(0, n):
	z[a[i]] = z[a[i]] + 1
count = 0
w = list()
for i in range(0, len(z)):
	if z[i] != 0:
		count = count + 1
		w.append(i)
y = list()
h = list()
if count < k:
	print('NO')
else:
	print('YES')
	for i in range(0, len(w)):
		for j in range(0, n):
			if w[i] == a[j]:
				y.append(j + 1)
				break
	y = sorted(y)
	for i in range(0, k):
		h.append(y[i])
	h = map(str, h)
	h = ' '.join(h)
	print(h)


(n, k) = map(int, input().split())
L = [int(j) for j in input().split()]
S = set(L)
c = 0
res_s = ''
for i in S:
	if c < k:
		ind = L.index(i)
		res_s += str(ind + 1) + ' '
		c += 1
else:
	if c == k:
		print('YES')
		print(res_s)
	else:
		print('NO')


(n, k) = map(int, input().split())
a = [int(i) for i in input().split()]
d = [0 for i in range(100 + 1)]
for i in range(n):
	d[a[i]] = i + 1
total = 0
for i in range(1, 100 + 1):
	if d[i] != 0:
		total += 1
if total < k:
	print('NO')
else:
	print('YES')
	c = 0
	for i in range(1, 100 + 1):
		if d[i] != 0:
			print(d[i], end=' ')
			c += 1
		if c == k:
			break
	print()


(n, k) = map(int, input().split())
s = set()
a = []
li = list(map(int, input().split()))
for i in range(n):
	if li[i] not in s:
		s.add(li[i])
		a.append(str(i + 1))
if len(s) < k:
	print('NO')
else:
	print('YES')
	print(' '.join(a[:k]))


(n, k) = input().split(' ')
n = int(n)
k = int(k)
l = input().split(' ')
sl = set(l)
ind = []
if len(sl) >= k:
	print('YES')
	if len(sl) == k:
		for i in sl:
			for j in range(0, len(l)):
				if i == l[j]:
					ind.append(j)
					break
	else:
		x = len(sl) - k
		sl = list(sl)
		for i in range(x):
			del sl[i]
		for i in sl:
			for j in range(0, len(l)):
				if i == l[j]:
					ind.append(j)
					break
	for i in ind:
		print(i + 1, end=' ')
else:
	print('NO')


(n, k) = map(int, input().split())
a = list(map(int, input().split()))
p = [0] * 101
for i in range(n):
	p[a[i]] = i + 1
count = 0
answer = []
for i in range(1, 101):
	if p[i] > 0:
		answer.append(p[i])
		count += 1
if count >= k:
	print('YES')
	for i in range(k):
		print(answer[i], end=' ')
else:
	print('NO')


st = [int(i) for i in input().split(' ')]
n = st[0]
k = st[1]
dif = []
difk = []
a = [int(n) for n in input().split(' ')]
for i in range(n):
	if dif.count(a[i]) == 0:
		dif.append(a[i])
		difk.append(i)
if len(difk) < k:
	print('NO')
else:
	print('YES')
	for i in range(k):
		print(difk[i] + 1, sep=' ', end=' ')


(n, k) = map(int, input().split())
s = list(map(int, input().split()))
z = []
for n in s:
	if n not in z:
		z.append(n)
if len(z) >= k:
	print('YES')
	for n in range(k):
		print(s.index(z[n]) + 1, end=' ')
else:
	print('NO')


n = input()
n = n.split()
k = int(n[1])
n = int(n[0])
a = input()
a = a.split()
for i in range(n):
	a[i] = [int(a[i]), i]
a.sort()
ans = ''
ans += str(a[0][1] + 1)
cnt = 1
for i in range(1, n):
	if cnt == k:
		break
	if a[i][0] > a[i - 1][0]:
		ans += ' ' + str(a[i][1] + 1)
		cnt += 1
if cnt < k:
	print('NO')
else:
	print('YES')
	print(ans)


class DivTeam:
	(n, k) = map(int, input().split())
	z = list(map(int, input().split()))
	aux = list(set(z))
	if len(aux) >= k:
		print('YES')
		for i in range(k):
			print(z.index(aux[i]) + 1, end=' ')
	else:
		print('NO')


(n, k) = [int(x) for x in input().split()]
p = [int(x) for x in input().split()]
d = []
ind = []
for i in range(n):
	if p[i] not in d:
		d.append(p[i])
		ind.append(i + 1)
		if len(ind) >= k:
			break
if len(ind) == k:
	print('YES')
	for x in range(len(ind)):
		print(ind[x], end=' ')
else:
	print('NO')


(n, m) = [int(i) for i in input().split()]
l = [int(i) for i in input().split()]
num = []
ans = []
t = 0
for i in range(n):
	if t < m:
		if not l[i] in num:
			ans.append(i + 1)
			num.append(l[i])
			t += 1
if t != m:
	print('NO')
else:
	print('YES')
	print(*ans)


(n, k) = map(int, input().split())
A = list(map(int, input().split()))
s = set()
u = []
for i in range(n):
	if A[i] not in s:
		s.add(A[i])
		u.append(i + 1)
	if len(u) == k:
		break
if len(u) < k:
	print('NO')
else:
	print('YES')
	print(*u)


(n, k) = map(int, input().split())
lst = list(map(int, input().split()))
x = list(enumerate(lst, 1))
vel_sum = []
vel = []
for i in x:
	if not i[1] in vel_sum:
		vel_sum.append(i[1])
		vel.append(i[0])
if vel[:k].__len__() >= k:
	print('YES')
	s = ''
	for i in vel[:k]:
		s = s + str(i) + ' '
	print(s)
else:
	print('NO')


(n, m) = map(int, input().split())
a = [int(x) for x in input().split()]
new = []
ind = []
id = []
for i in range(n):
	if a[i] not in new:
		new.append(a[i])
		ind.append(i + 1)
if len(new) >= m:
	print('YES')
	for i in range(m):
		id.append(ind[i])
	print(*id)
else:
	print('NO')


(x, y) = input().split()
x = int(x)
y = int(y)
list1 = list(map(int, input().split()))
list2 = []
list2.append(0)
flag = 0
for i in range(1, x):
	for j in list2:
		if list1[i] == list1[j]:
			flag = 1
	if flag == 0:
		list2.append(i)
	else:
		flag = 0
if len(list2) >= y:
	print('YES')
	for i in range(y):
		print(list2[i] + 1, end=' ')
else:
	print('NO')


(n, k) = map(int, input().split())
li = [*map(int, input().split())]
lis = sorted(range(len(li)), key=lambda k: li[k])
ans = []
ans.append(lis[0] + 1)
for i in range(1, n):
	if li[lis[i]] != li[lis[i - 1]]:
		ans.append(lis[i] + 1)
if len(ans) < k:
	print('NO')
else:
	print('YES')
	an = ans[:k]
	print(*an)


def main():
	(n, k) = list(map(int, input().split()))
	A = list(map(int, input().split()))
	B = [False] * 101
	C = []
	for i in range(n):
		if not B[A[i]]:
			B[A[i]] = i + 1
			C.append(i + 1)
	if len(C) >= k:
		print('YES')
		print(*C[:k])
	else:
		print('NO')
main()


def solve(a):
	temp = []
	res = []
	for i in range(len(a)):
		if a[i] not in temp:
			temp.append(a[i])
			res.append(i + 1)
	return res
(n, k) = map(int, input().split())
a = [int(x) for x in input().split()]
a = solve(a)
if len(a) >= k:
	print('YES')
	for i in range(k):
		print(a[i], end=' ')
else:
	print('NO')


(n, k) = map(int, input().split())
l = list(map(int, input().split()))
l1 = []
if len(set(l)) >= k:
	print('YES')
	c = 0
	i = 0
	while c != k:
		if l[i] not in l1:
			print(i + 1, end=' ')
			l1.append(l[i])
			c += 1
		i = i + 1
else:
	print('NO')


from collections import defaultdict
(x, y) = map(int, input().split())
a = list(map(int, input().split()))
lol = []
yo = []
f = 0
for i in range(x):
	if a[i] not in lol:
		lol.append(a[i])
		yo.append(i + 1)
	if len(lol) >= y:
		f = 1
		break
if f:
	print('YES')
	print(*yo)
else:
	print('NO')


l = list(map(int, input().split()))
I = list(map(int, input().split()))

def team(I, l):
	(t, index) = ([I[0]], [1])
	for i in range(1, len(I)):
		if I[i] not in t:
			t.append(I[i])
			index.append(i + 1)
		if len(t) == l[1]:
			break
	if len(t) == l[1]:
		print('YES')
		for i in index:
			print(i, end=' ')
	else:
		print('NO')
team(I, l)


(n, k) = map(int, input().split(' '))
data = input().split(' ')
taken = set()
takenIndexes = []
for i in range(len(data)):
	if not data[i] in taken:
		takenIndexes.append(i + 1)
		taken.add(data[i])
if len(takenIndexes) >= k:
	print('YES')
	print(' '.join(map(str, takenIndexes[:k])))
else:
	print('NO')


z = list(map(int, input().split()))
y = list(map(int, input().split()))
arr = []
rra = []
for i in range(z[0]):
	if y[i] in rra:
		continue
	else:
		arr.append(i + 1)
		rra.append(y[i])
if len(arr) >= z[1]:
	print('YES')
	for i in range(z[1]):
		if i == z[1] - 1:
			print(arr[i])
		else:
			print(arr[i], end=' ')
else:
	print('NO')


x = [int(x) for x in input().split()]
y = [int(y) for y in input().split()]
count = 0
z = []
a = []
k = 1
for i in y:
	if i not in z:
		z.append(i)
		a.append(k)
	k = k + 1
if len(z) >= x[1]:
	print('YES')
	b = 0
	while b < x[1]:
		print(a[b])
		b = b + 1
else:
	print('NO')


(n, size) = input().split()
size = int(size)
l = list(map(int, input().split()))
x = set(l)
x = list(x)
if len(x) >= size:
	i = 0
	print('YES')
	while size != 0:
		print(l.index(x[i]) + 1, end=' ')
		i = i + 1
		size = size - 1
else:
	print('NO')


(a, b) = map(int, input().split())
z = list(map(int, input().split()))
m = list(set(z))
x = len(m)
v = []
if b > x:
	print('NO')
else:
	print('YES')
	for i in range(b):
		v.append(z.index(m[i]) + 1)
	v.sort()
	for j in v:
		print(j, end=' ')


import logging
import collections
fmt = '%(levelname)s - %(name)s (line:%(lineno)s) - %(message)s'
formatter = logging.Formatter(fmt)
ch = logging.StreamHandler()
ch.setLevel(logging.ERROR)
ch.setFormatter(formatter)
logger = logging.getLogger('diverse_team')
logger.setLevel(logging.ERROR)
logger.addHandler(ch)

def solve(seq, k):
	d = {x: i + 1 for (i, x) in enumerate(seq)}
	if len(d) >= k:
		return list(d.values())[:k]
	return None

def main():
	(n, k) = map(int, input().strip().split())
	seq = [int(x) for x in input().strip().split()]
	result = solve(seq, k)
	if result:
		print('YES')
		print(' '.join(map(str, result)))
	else:
		print('NO')
main()


(n, k) = [int(i) for i in input().split()]
g = [int(i) for i in input().split()]
i = 0
mapa = {}
while i < n:
	if g[i] not in mapa:
		mapa[g[i]] = str(i + 1)
	i += 1
if len(mapa) >= k:
	print('YES')
	x = list(mapa)
	print(mapa[x[0]], end='')
	for i in x[1:k]:
		print(' %s' % mapa[i], end='')
else:
	print('NO')


(students, size_of_team) = [int(x) for x in input().split(' ')]
ratings = [int(x) for x in input().split(' ')]
d = {}
res = []
for i in range(students):
	if d.get(ratings[i], None) is None:
		res.append(ratings[i])
		d[ratings[i]] = i + 1
	else:
		continue
if len(res) >= size_of_team:
	print('YES')
	res_str = ''
	for i in range(size_of_team):
		res_str += str(d[res[i]]) + ' '
	print(res_str)
else:
	print('NO')


(n, k) = [int(s) for s in input().split(' ')]
a = [int(s) for s in input().split(' ')]
b = a.copy()
a.sort()
sayac = 1
indices = [b.index(a[0]) + 1]
number = a[0]
for i in range(1, n):
	if sayac == k:
		break
	if a[i] > number:
		number = a[i]
		indices.append(b.index(number) + 1)
		sayac += 1
if len(indices) == k:
	print('YES')
	for i in indices:
		print(i, end=' ')
else:
	print('NO')


[n, m] = map(int, input().split())
arr = list(map(int, input().split()))
for i in range(n):
	arr[i] = (arr[i], i)
arr.sort()
arr1 = []
arr1.append(arr[0])
p = 0
for i in range(1, n):
	if arr[i][0] != arr1[p][0]:
		arr1.append(arr[i])
		p += 1
if len(arr1) < m:
	print('NO')
else:
	print('YES')
	p = len(arr1)
	for i in range(m):
		print(arr1.pop()[1] + 1, end=' ')


def solve(n, k, a):
	(b, c) = ([], [])
	for i in range(0, len(a)):
		if a[i] not in b and len(c) + 1 <= k:
			b.append(a[i])
			c.append(i + 1)
	return {'status': 'YES' if len(c) == k else 'NO', 'c': c}
(n, k) = map(int, input().split())
a = list(map(int, input().split()))
result = solve(n, k, a)
print(result.get('status'))
if result.get('status') == 'YES':
	nl = []
	for x in result.get('c'):
		nl.append(str(x))
	print(' '.join(nl))


(N, K) = map(int, input().split())
L = list(map(int, input().split()))
S = set(L)
count = 0
if len(S) < K:
	print('NO')
else:
	print('YES')
	for i in S:
		if count == K:
			break
		for j in range(len(L)):
			if L[j] == i:
				print(j + 1, end=' ')
				break
		count += 1


(n, k) = list(map(int, input().split()))
rank = list(map(int, input().split()))
notc = list(rank)
rank.sort()
h = 0
team = []
for i in range(n):
	if rank[i] not in team:
		team.append(rank[i])
if len(team) < k:
	print('NO')
else:
	print('YES')
	ans = []
	for j in range(k):
		ans.append(notc.index(team[j]) + 1)
	ans.sort()
	for l in ans:
		print(l, end=' ')


from collections import deque, Counter
import array
from itertools import combinations, permutations
from math import sqrt
import unittest

def read_int():
	return int(input().strip())

def read_int_array():
	return [int(i) for i in input().strip().split(' ')]
(n, k) = read_int_array()
a = read_int_array()
d = dict()
for (i, e) in enumerate(a):
	l = d.get(e, [])
	l.append(i + 1)
	d[e] = l
if len(d) < k:
	print('NO')
else:
	print('YES')
	print(' '.join([str(d[i][0]) for i in d.keys()][:k]))


(a, b) = map(int, input().split())
ratings = list(map(int, input().split()))
values = {}
for x in range(a):
	values[ratings[x]] = x + 1
if len(values) >= b:
	print('YES')
	n = 0
	students = []
	for x in values.values():
		students.append(x)
		n += 1
		if n == b:
			break
	print(' '.join(map(str, students)))
else:
	print('NO')


(n, k) = map(int, input().split())
a = list(map(int, input().split()))
x = [0] * 105
ans = []
for i in range(n):
	if not x[a[i]]:
		x[a[i]] = 1
		ans.append(i + 1)
	if len(ans) == k:
		break
print('YES' if len(ans) == k else 'NO')
if len(ans) == k:
	print(*ans)


(n, k) = list(map(int, input().split()))
arreglo = list(map(int, input().split()))
set1 = set(arreglo)
if len(set1) >= k:
	print('YES')
	for i in range(k):
		print(arreglo.index(set1.pop()) + 1, end=' ')
else:
	print('NO')


(tim, ukuran) = map(int, input().split())
daftar = [int(angka) for angka in input().split()]
angka = []
lokasi = []
for i in range(tim):
	if daftar[i] not in angka:
		angka.append(daftar[i])
		lokasi.append(i + 1)
if len(angka) >= ukuran:
	print('YES')
	for i in range(ukuran):
		print(lokasi[i], end=' ')
else:
	print('NO')


def read_ints():
	return [int(val) for val in input().split()]

def main():
	(n, k) = read_ints()
	a = read_ints()
	s = {}
	for (i, v) in enumerate(a):
		s[v] = i
	if len(s) < k:
		print('NO')
		return
	print('YES')
	for q in s:
		index = s[q]
		if k > 0:
			print(index + 1, end=' ')
		else:
			break
		k -= 1
main()


(n, m) = input().split()
a = list(map(int, input().split()))
b = []

def unique(list1):
	unique_list = []
	for x in range(len(list1)):
		if list1[x] not in unique_list:
			unique_list.append(list1[x])
			b.append(x)
	if int(m) <= len(unique_list):
		print('YES')
		for i in range(int(m)):
			print(b[i] + 1, end=' ')
	else:
		print('NO')
unique(a)


(n, k) = [int(i) for i in input().split()]
data = input().split()
for i in range(n):
	data[i] = int(data[i])
ans = []
ht = {}
for i in range(n):
	a = ht.get(data[i], None)
	if a == None:
		ht[data[i]] = True
		ans.append(i + 1)
		if len(ans) == k:
			break
if len(ans) == k:
	print('YES')
	for i in ans:
		print(i)
else:
	print('NO')


(n, k) = map(int, input().split())
n1 = list(map(int, input().split()))
n2 = set(n1)
n2 = list(n2)
if len(n2) >= k:
	print('YES')
	for j in range(k):
		print(n1.index(n2[j]) + 1, end=' ')
else:
	print('NO')


(n, k) = input().split()
n = int(n)
k = int(k)
frq = [0 for _ in range(101)]
inp = [int(x) for x in input().split()]
count = 0
for i in range(n):
	if frq[inp[i]] == 0:
		count += 1
	frq[inp[i]] = i + 1
if count < k:
	print('NO')
else:
	print('YES')
	ans = []
	for i in range(101):
		if frq[i] != 0:
			ans.append(frq[i])
		if len(ans) == k:
			break
	for i in ans:
		print(i, end=' ')


(n, k) = list(map(int, input().split()))
arr = list(map(int, input().split()))
comand = []
indexes = []
for i in range(n):
	if k > 0:
		if arr[i] not in comand:
			comand.append(arr[i])
			indexes.append(i + 1)
			k -= 1
if k > 0:
	print('NO')
else:
	print('YES')
	for i in indexes:
		print(str(i) + ' ', end='')


(a, n) = map(int, input().split())
a = list(map(int, input().split()))
sum = 0
b = []
if n <= len(set(a)):
	print('YES')
	for i in a:
		if i not in b and sum < n:
			print(a.index(i) + 1, end=' ')
			b.append(i)
			sum += 1
else:
	print('NO')


(n, k) = (int(_) for _ in input().split())
a = [int(_) for _ in input().split()]
if len(set(a)) < k:
	print('NO')
else:
	s = set()
	print('YES')
	for (i, x) in enumerate(a, 1):
		if x not in s:
			s.add(x)
			print(i, end=' ')
		if len(s) == k:
			break


params = list(input().split())
numreq = int(params[1])
stud = input().split()
if len(set(stud)) < numreq:
	print('NO')
else:
	ind = []
	used = []
	for i in range(len(stud)):
		if numreq == 0:
			break
		if stud[i] not in used:
			ind.append(i)
			used.append(stud[i])
			numreq -= 1
	print('YES')
	for i in ind:
		print(i + 1, end=' ')


from collections import defaultdict
(N, K) = map(int, input().split())
src = list(map(int, input().split()))
d = defaultdict(lambda : [])
for (i, a) in enumerate(src):
	d[a].append(i + 1)
if len(d) < K:
	print('NO')
else:
	print('YES')
	ans = []
	for a in list(d.values())[:K]:
		ans.append(a[0])
	print(*ans, sep=' ')


(n, k) = map(int, input().split())
a = map(int, input().split())
chk = dict()
for (i, it) in enumerate(a):
	chk[it] = i + 1
if len(chk) < k:
	print('NO')
else:
	print('YES')
	for s in list(chk.keys())[:k]:
		print(chk[s], end=' ')


(n, k) = [int(x) for x in input().split()]
L = [int(x) for x in input().split()]
R = []
M = []
for i in range(n):
	if L[i] not in M:
		R.append(i + 1)
		M.append(L[i])
if len(R) >= k:
	print('YES')
	print(' '.join([str(x) for x in R[:k]]))
else:
	print('NO')


(n, k) = [int(x) for x in input().split()]
d = {int(x): ind + 1 for (ind, x) in enumerate(input().split())}
if len(d) >= k:
	print('YES')
	c = 0
	d = sorted(d.values())
	for i in d:
		if k < 1:
			break
		print(i, end=' ')
		k -= 1
else:
	print('NO')


(n, k) = map(int, input().split())
A = list(map(int, input().split()))
if len(set(A)) < k:
	print('NO')
else:
	pos = [-1 for i in range(max(A) + 1)]
	for i in range(n):
		pos[A[i]] = i + 1
	print('YES')
	A = set(A)
	A = list(A)
	for i in range(k):
		print(pos[A[i]], end=' ')


(n, k) = map(int, input().split())
inp = list(map(int, input().split()))
arr = set()
for i in range(n):
	arr.add(inp[i])
if k <= len(arr):
	print('YES')
	for i in range(n):
		if inp[i] in arr and k > 0:
			print(i + 1, end=' ')
			arr.remove(inp[i])
			k -= 1
else:
	print('NO')


(n, m) = input().split()
l = input().split()
b = []
v = set()
v.update(l)
if len(v) < int(m):
	print('NO')
else:
	print('YES')
	for i in range(int(n)):
		if l[i] != '*' and len(b) < int(m):
			b.append(i + 1)
			for j in range(i + 1, int(n)):
				if l[i] == l[j]:
					l[j] = '*'
	for i in range(len(b)):
		print(b[i], end=' ')


[x, y] = map(int, input().split())
l = input().split()[:x]
v = list(set(l))
if len(v) < y:
	print('NO')
	exit(0)
out = []
print('YES')
for x in v:
	out.append(str(l.index(x) + 1))
print(' '.join(out[:y]))


def input_ints():
	inp = input().split()
	ints = list(map(lambda i: int(i), inp))
	return ints
(n, k) = input_ints()
a = input_ints()
distinct_set = list(set(a))
distinct_len = len(distinct_set)
is_possible = distinct_len >= k
members = ''
members_count = 0
if is_possible:
	transformed_a = []
	for i in range(n):
		transformed_a.append([i, a[i]])
	sorted_a = sorted(transformed_a, key=lambda a: a[1])
	members = str(sorted_a[0][0] + 1) + ' '
	member_count = 1
	index = 1
	while member_count < k:
		if sorted_a[index][1] != sorted_a[index - 1][1]:
			members += str(sorted_a[index][0] + 1) + ' '
			member_count += 1
		index += 1
if is_possible:
	print('YES')
	print(members)
else:
	print('NO')


(n, k) = tuple(map(int, input().split(' ')))
stud = list(map(int, input().split(' ')))
array = [0] * 101
result = []
for i in range(len(stud)):
	if array[stud[i]] == 0:
		array[stud[i]] = 1
		result.append(i + 1)
if len(result) >= k:
	print('YES')
	for i in range(k):
		print(result[i])
else:
	print('NO')


def calc(n, m, a):
	dic = {}
	lis = []
	for i in range(n):
		if a[i] in dic:
			continue
		elif a[i] not in dic:
			dic[a[i]] = i
		if len(dic) == m:
			break
	if len(dic) < m:
		print('NO')
	else:
		print('YES')
		s = ''
		for i in dic:
			s += str(dic[i] + 1)
			s += ' '
		print(s)
(n, m) = list(map(int, input().split()))
a = list(map(int, input().split()))
calc(n, m, a)


(n, k) = input().split()
a = list(map(int, input().split()))
b = []
c = []
count = 0
for i in range(int(n)):
	if a[i] not in b:
		b.append(a[i])
		c.append(i + 1)
		count += 1
	if count == int(k):
		print('YES')
		for i in c:
			print(str(i) + ' ', end='')
		quit()
print('NO')


nk = input()
gradesRaw = input()
nkList = nk.split(' ')
n = int(nkList[0])
k = int(nkList[1])
grades = gradesRaw.split(' ')
grupo = []
resposta = ''
contador = 0
for i in range(n):
	if grupo.count(grades[i]) == 0:
		grupo.append(grades[i])
		if resposta == '':
			resposta = resposta + str(i + 1)
		else:
			resposta = resposta + ' ' + str(i + 1)
		contador += 1
		if contador == k:
			break
if len(grupo) < k:
	print('NO')
else:
	print('YES')
	print(resposta)


(n, k) = map(int, input().split())
a = list(map(int, input().split()))
dct = {}
for i in range(n):
	dct[a[i]] = i + 1
if len(dct) < k:
	print('NO')
else:
	print('YES')
	for val in dct.values():
		print(val, end=' ')
		k -= 1
		if k == 0:
			break


a1 = input().split(' ')
a2 = input().split(' ')
n = int(a1[0])
k = int(a1[1])
a3 = [a2.index(i) for i in a2]
a3 = list(set(a3))
a4 = [int(i) + 1 for i in a3][:k]
str1 = ''
for i in a4:
	str1 += str(i) + ' '
if len(a3) < k:
	print('NO')
else:
	print('YES')
	print(str1)


import sys
import bisect
import math as mt
input = sys.stdin.readline
t = 1
mod = 10 ** 9 + 7
for _ in range(t):
	(n, k) = map(int, input().split())
	l = list(map(int, input().split()))
	d = {}
	for i in range(n):
		d[l[i]] = i + 1
	l = set(list(l))
	if len(l) >= k:
		cnt = 1
		print('YES')
		for i in l:
			if cnt <= k:
				print(d[i], end=' ')
			cnt += 1
		print()
	else:
		print('NO')


lineOne = input()
lineTwo = input()
a = lineOne.split(' ')
b = lineTwo.split(' ')
answer = []
for x in range(0, int(a[0])):
	if b[x] not in answer:
		answer.append(b[x])
if len(answer) >= int(a[1]):
	answer = answer[0:int(a[1])]
	print('YES')
	finalAns = ''
	for elems in answer:
		finalAns = finalAns + ' ' + str(b.index(elems) + 1)
	print(finalAns[1:])
else:
	print('NO')


(nos, grp) = [int(x) for x in input().split()]
ratings = [int(x) for x in input().split()]
ans = 'NO'
if len(set(ratings)) >= grp:
	in_group = []
	grp_index = []
	for i in range(nos):
		if ratings[i] not in in_group:
			grp_index.append(i + 1)
			in_group.append(ratings[i])
			if len(grp_index) >= grp:
				break
	if len(grp_index) >= grp:
		ans = 'YES'
print(ans)
if ans == 'YES':
	print(*grp_index)


import itertools
(n, a) = input().split(' ')
rate = input().split(' ')
for res in itertools.combinations(set(rate), int(a)):
	print('YES')
	for rt in res:
		print(rate.index(rt) + 1, end=' ')
	break
else:
	print('NO')


def solveMeFirst(n_k, scores):
	n = n_k[0]
	k = n_k[1]
	final_set = {}
	string_to_print = ''
	count = 0
	size = 0
	for i in range(0, n):
		try:
			final_set[scores[i]] = final_set.scores[i].push(i)
			count = count - 1
		except:
			final_set[scores[i]] = [i]
			count = count + 1
	if len(final_set) < k:
		print('NO')
		return 0
	else:
		for (key, val) in final_set.items():
			if size < k:
				string_to_print = string_to_print + str(1 + val[0]) + ' '
			size = size + 1
		string_to_print = string_to_print[:-1]
		print('YES')
		print(string_to_print)
n_k = list(map(int, input().rstrip().split()))
scores = list(map(int, input().rstrip().split()))
solveMeFirst(n_k, scores)


(n, k) = map(int, input().split())
arr = list(map(int, input().split()))
s = set(arr)
markings = set()
if len(s) >= k:
	print('YES')
	count = 0
	for i in range(n):
		if arr[i] not in markings:
			print(i + 1, end=' ')
			markings.add(arr[i])
			count += 1
		if count == k:
			break
	print('')
else:
	print('NO')


(n, k) = map(int, input().strip().split())
v = list(map(int, input().strip().split()))
g = []
r = []
c = 0
for i in range(n):
	if v[i] not in g:
		g.append(v[i])
		r.append(i + 1)
		c += 1
		if c == k:
			print('YES')
			print(*r, sep=' ')
			break
if c < k:
	print('NO')


n = input().split()
(n, k) = (int(n[0]), int(n[1]))
a = [0] * 101
ans = []
j = 0
for i in input().split():
	i = int(i) - 1
	if a[i] == 0:
		a[i] = 1
		ans += [j]
	j += 1
if len(ans) < k:
	print('NO')
else:
	print('YES')
	print(' '.join([str(i + 1) for i in ans[:k]]))


(n, k) = map(int, input().split())
arr = list(map(int, input().split()))
dict = {}
count = 0
for i in range(n):
	if arr[i] not in dict:
		dict[arr[i]] = i + 1
		count += 1
		if count == k:
			break
if count == k:
	print('YES')
	for (k, v) in dict.items():
		print(v, end=' ')
else:
	print('NO')


(n, k) = map(int, input().split())
a = list(map(int, input().split()))
used = [False for i in range(101)]
answer = []
for i in range(n):
	if used[a[i]] == False:
		answer.append(i)
		used[a[i]] = True
if len(answer) < k:
	print('NO')
else:
	print('YES')
	for i in range(k):
		print(answer[i] + 1, end=' ')


rd = lambda : map(int, input().split())
(n, k) = rd()
a = rd()
d = {}
for i in range(n):
	d[next(a)] = i + 1
if len(d) < k:
	print('NO')
else:
	print('YES')
	print(*list(d.values())[:k])


l = input().split()
n = int(l[0])
k = int(l[1])
students = input().split()
arr = []
result = ''
for student in students:
	if student not in arr:
		arr.append(student)
if len(arr) >= k:
	print('YES')
	for i in range(k):
		result += str(students.index(arr[i]) + 1) + ' '
	print(result)
else:
	print('NO')


import os
import sys
(n, k) = [int(i) for i in input().split()]
arr = input().split()
arr = [int(i) for i in arr]
count = 0
recorded = []
result = []
i = 0
while i < len(arr):
	if arr[i] not in recorded:
		recorded.append(arr[i])
		result.append(i + 1)
	i += 1
count = len(recorded)
if k > count:
	print('NO')
else:
	print('YES')
	i = 0
	re = ''
	while i < k:
		if i == k - 1:
			re += str(result[i])
		else:
			re += str(result[i]) + ' '
		i += 1
	print(re)


(n, k) = [int(s) for s in input().split()]
a = [int(s) for s in input().split()]
chosen = []
keys = []
for i in range(len(a)):
	if a[i] not in chosen:
		chosen.append(a[i])
		keys.append(i + 1)
	if len(chosen) == k:
		break
if len(chosen) >= k:
	print('YES')
	for e in keys:
		print(e, end=' ')
else:
	print('NO')


(n, k) = map(int, input().split())
t = list(map(int, input().split()))
l = set(t)
a = ''
g = 0
if len(l) < k:
	print('NO')
	exit()
while g < k:
	for i in l:
		a += str(t.index(i) + 1) + ' '
		g += 1
		if g == k:
			break
print('YES')
print(a)


from sys import stdin, stdout

def rint():
	return map(int, stdin.readline().split())
(n, k) = rint()
a = list(rint())
a_set = set(a)
if len(a_set) < k:
	print('NO')
	exit()
tmp = set()
ans = []
cnt = 0
for i in range(n):
	if not a[i] in tmp:
		ans.append(i + 1)
		tmp.add(a[i])
		cnt += 1
		if cnt == k:
			break
print('YES')
print(*ans)


l1 = str(input())
(n, k) = (int(l1.split(' ')[0]), int(l1.split(' ')[1]))
wait = []
check = set()
ratings = str(input())
wait = ratings.split()
check = set(wait)
result = ''
if len(check) < k:
	print('NO')
else:
	print('YES')
	teamIndice = []
	for i in range(k):
		teamIndice.append(wait.index(check.pop()) + 1)
	teamIndice.sort()
	for i in teamIndice:
		result += str(i) + ' '
	print(result)


(n, k) = input().split()
n = int(n)
k = int(k)
s = []
ind = []
l = input().split()
for i in range(n):
	if l[i] not in s:
		s.append(l[i])
		ind.append(str(i + 1))
if len(s) >= k:
	print('YES')
	print(' '.join(ind[0:k]))
else:
	print('NO')


(n, k) = map(int, input().split())
a = list(map(int, input().split()))
set_a = list(set(a))
b = []
f = 0
for i in set_a:
	x = a.index(i)
	b.append(x + 1)
	if len(b) == k:
		f = 1
		break
if f == 0:
	print('NO')
else:
	print('YES')
	b.sort()
	print(*b)


(n, k) = map(int, input().split())
a = [int(num) for num in input().split()]
l = [a[0]]
p = [1]
for i in a:
	for j in l:
		if i != j:
			l.append(i)
			p.append(a.index(i) + 1)
			break
		break
q = []
for i in range(len(p)):
	q.append(min(p))
	p.remove(min(p))
r = [q[0]]
for i in range(len(q) - 1):
	if q[i] != q[i + 1]:
		r.append(q[i + 1])
if len(r) >= k:
	print('YES')
	for i in range(k):
		print(r[i], end=' ')
else:
	print('NO')


(n, k) = list(map(int, input().split()))
a = list(map(int, input().split()))
b = [a[0]]
s = '1'
for i in range(1, n):
	if a[i] not in b:
		b.append(a[i])
		s += ' ' + str(i + 1)
	if len(b) == k:
		print('YES')
		print(s)
		exit()
if len(b) == k:
	print('YES')
	print(s)
	exit()
print('NO')


(n, k) = [int(i) for i in input().split()]
a = [int(i) for i in input().split()]
ac = set([])
for i in a:
	ac.add(i)
if len(ac) < k:
	print('NO')
else:
	print('YES')
	pr = []
	pr2 = []
	t = 0
	for i in range(n):
		if t < k:
			if a[i] not in pr:
				pr.append(a[i])
				pr2.append(i + 1)
				t += 1
	for i in pr2:
		print(i, end=' ')


(n, k) = input().split()
n = int(n)
k = int(k)
l = list(map(int, input().split()))
o = []
s = set()
for x in l:
	s.add(x)
le = len(s)
ele = list(s)
if le < k:
	print('NO')
else:
	print('YES')
	i = 0
	while i < k:
		w = ele[i]
		ie = l.index(w)
		o.append(ie + 1)
		i = i + 1
for t in o:
	print(t, end=' ')
print('')


read = lambda : map(int, input().split())
(n, k) = read()
a = list(read())
nums = set([])
idx = []
for i in range(n):
	if a[i] in nums:
		continue
	nums.add(a[i])
	idx.append(i + 1)
	if len(nums) == k:
		break
if len(nums) == k:
	print('YES')
	print(' '.join(map(str, idx)))
else:
	print('NO')


from sys import stdin, stdout
(n, k) = map(lambda x: int(x), stdin.readline().rstrip().split())
a = list(map(lambda x: int(x), stdin.readline().rstrip().split()))
f = [True] * 105
r = list()
c = 0
i = 0
l = len(a)
while i < l:
	if f[a[i]]:
		c += 1
		f[a[i]] = False
		r.append(i + 1)
		if len(r) == k:
			break
	i += 1
if k <= c:
	stdout.write('YES\n')
	for l in r:
		stdout.write(str(l) + ' ')
else:
	stdout.write('NO')


(n, k) = [int(i) for i in input().split()]
a = [int(i) for i in input().split()]
s = list(set(a))
if len(s) < k:
	print('NO')
else:
	ans = []
	print('YES')
	for j in range(k):
		for i in range(len(a)):
			if s[j] == a[i]:
				ans.append(i + 1)
				break
	print(*ans)


line1 = input().split(' ')
n = int(line1[0])
k = int(line1[1])
line2 = input().split(' ')
output = []
store = []
outPut = ''
for student in line2:
	if line2.index(student) + 1 not in output:
		output += [line2.index(student) + 1]
if len(output) >= k:
	print('YES')
	for i in range(k):
		outPut += str(output[i]) + ' '
	print(outPut[:-1])
else:
	print('NO')


(n, k) = map(int, input().split())
li = list(map(int, input().split()))
has = {}
for i in range(len(li)):
	if li[i] not in has.keys():
		has[li[i]] = i
if len(has) < k:
	print('NO')
else:
	print('YES')
	has = dict(list(has.items())[:k])
	print(' '.join((str(has.get(g) + 1) for g in has)))


A = input().split()
a = int(A[0])
b = int(A[1])
C = input().split()
B = []
D = []
for i in range(len(C)):
	if C[i] not in B:
		B += [C[i]]
if len(B) >= b:
	print('YES')

	def firindex(l, t):
		for i in range(len(l)):
			if l[i] == t:
				return i + 1
	for i in range(len(B)):
		if B[i] in C:
			D += [str(firindex(C, B[i]))]
	D = D[:b]
	print(' '.join(D))
else:
	print('NO')


(n, k) = input().split()
L = input().split()
S = set(L)
S = list(S)
if len(S) < int(k):
	print('NO')
else:
	print('YES')
	res = ''
	for i in S[:int(k)]:
		res += ' ' + str(L.index(i) + 1)
	print(res.strip())


(x, k) = map(int, input().split())
rate = [int(i) for i in input().split()]
index = []
team = set()
for i in range(x):
	if rate[i] not in team:
		team.add(rate[i])
		index.append(i + 1)
if len(team) < k:
	print('NO')
else:
	print('YES')
	for i in range(k):
		print(str(index[i]), end=' ')


(n, k) = map(int, input().split(' '))
arr = map(int, input().split(' '))
dct = dict()
for (index, el) in enumerate(arr):
	dct[el] = index + 1
if len(dct) < k:
	print('NO')
else:
	print('YES')
	print(*list(dct.values())[0:k])


from collections import defaultdict as dd
(n, k) = [int(i) for i in input().split()]
a = [int(i) for i in input().split()]
if len(set(a)) < k:
	print('NO')
else:
	b = []
	d = dd(int)
	for i in range(len(a)):
		if d[a[i]] == 0:
			b.append(i + 1)
			d[a[i]] = 1
		if len(b) == k:
			break
	print('YES')
	print(*b)


import sys
data = sys.stdin.readlines()
lis = []
for line in data:
	lis.append(line)
(numStud, numTeam) = list(map(int, lis[0].split()))
ranking = list(map(int, lis[1].split()))
rankingSet = list(set(ranking))
if len(rankingSet) < numTeam:
	print('NO')
else:
	print('YES')
	lis = []
	for i in range(numTeam):
		lis.append(ranking.index(rankingSet[i]) + 1)
	lis.sort()
	for l in lis:
		print(l, end=' ')


(n, k) = map(int, input().split())
ia = sorted(enumerate(input().split()), key=lambda x: x[1])
dst = [(ia[i - 1][0], ia[i][0]) for i in range(1, n) if ia[i][1] != ia[i - 1][1]]
indices = list(map(lambda x: x + 1, [x[0] for x in dst] + [dst[-1][1]] if dst else [] if n > 1 else [0]))
if len(indices) >= k:
	print('YES\n%s' % ' '.join(map(str, indices[:k])))
else:
	print('NO')


(a, b) = [int(x) for x in input().split()]
s = {}
i = 1
for x in input().split():
	s[x] = i
	i = i + 1
if len(s) >= b:
	print('YES \n', end='')
	i = 0
	for p in s:
		if i < b:
			print(s[p], end=' ')
			i = i + 1
else:
	print('NO')


(n, k) = map(int, input().split())
a = list(map(int, input().split()))
b = list(set(a))
if len(b) < k:
	print('NO')
else:
	print('YES')
	ind = [a.index(item) + 1 for item in b[:k]]
	print(' '.join((str(i) for i in ind)))


(n, k) = [int(x) for x in input().split()]
q = [int(x) for x in input().split()]
s = set(q)
flag = 1 if len(s) >= k else 0
print('YES' if flag else 'NO')
if flag:
	ans = [q.index(x) + 1 for x in s]
	print(' '.join(map(str, ans[:k])))


(n, m) = map(int, input().split())
a = list(map(int, input().split()))
dis = list(set(a))
res = []
if len(dis) >= m:
	for i in dis:
		res.append(a.index(i) + 1)
	print('YES')
	print(*sorted(res)[:m])
else:
	print('NO')


n_k = input().split(' ')
total = n_k[0]
need = n_k[1]
info = input().split(' ')
data = set(info)
if len(data) >= int(need):
	print('YES')
	data = list(data)
	data = data[0:int(need)]
	string = ''
	for each in data:
		string = string + ' ' + str(info.index(each) + 1)
	print(string.strip())
else:
	print('NO')


(n, m) = map(int, input().split())
l = list(map(int, input().split()))
commands = set(l)
indexes = ''
if len(commands) >= m:
	for i in range(m):
		indexes += '{} '.format(l.index(list(commands)[i]) + 1)
	print('YES\n' + indexes)
else:
	print('NO')


(n, k) = map(int, input().split())
original = input().split()
a = set(original)
if len(a) >= k:
	print('YES')
	out = []
	for _ in range(k):
		u = a.pop()
		out.append(1 + original.index(u))
	print(*sorted(out))
else:
	print('NO')


(n, k) = map(int, input().split())
a = list(map(int, input().split()))
z = []
for i in range(len(a)):
	q = 0
	for j in range(i):
		if a[i] == a[j]:
			q = 1
			break
	if q == 0:
		z.append(i + 1)
if len(z) >= k:
	print('YES')
	for i in range(k):
		print(z[i], end=' ')
else:
	print('NO')


(_, k) = map(int, input().split())
M = {x: i for (i, x) in reversed(list(enumerate(map(int, input().split()))))}
if len(M) < k:
	print('NO')
else:
	print('YES')
	print(*sorted([y + 1 for (_, y) in M.items()][:k]))


raw = lambda : map(int, input().split())
(n, k) = raw()
a = list(map(int, input().split()))
m = {}
v = []
distinct = []
for (i, x) in enumerate(a):
	if x not in m:
		m[x] = 1
		v.append(i + 1)
		distinct.append(x)
	else:
		m[x] += 1
if len(v) < k:
	print('NO\n')
else:
	print('YES\n' + ' '.join(map(str, v[:k])))


def init():
	(n, k) = map(lambda x: int(x), input().split(' '))
	students = list(map(lambda x: int(x), input().split(' ')))
	students_set = set(students)
	if len(students_set) < k:
		print('NO')
		return
	indexes = []
	for s in students_set:
		indexes.append(students.index(s) + 1)
		if len(indexes) == k:
			break
	print('YES')
	print(' '.join(map(str, sorted(indexes))))
init()


(n, k) = map(int, input().split(' '))
ls = list(map(int, input().split(' ')))
s = set(ls)
b = list(s)
res = []
if len(s) < k:
	print('NO')
else:
	print('YES')
	for t in range(k):
		res.append(ls.index(b[t]) + 1)
	print(*res)


(m, n) = map(int, input().split())
L = list(map(int, input().split()))
S = set(L)
if len(S) < n:
	print('NO')
	exit()
else:
	i = 0
	A = set([])
	A2 = []
	while len(A) < n:
		if L[i] not in A:
			A.add(L[i])
			A2.append(i + 1)
		i += 1
	print('YES')
	print(' '.join(map(str, A2)))


(n, k) = [int(i) for i in input().split()]
a = [int(i) for i in input().split()]
diff = []
position: []
for i in a:
	if i not in diff:
		diff.append(i)
if len(diff) >= k:
	print('YES')
	for i in range(k):
		if i == k - 1:
			print(a.index(diff[i]) + 1, end='')
		else:
			print(a.index(diff[i]) + 1, end=' ')
else:
	print('NO')


(n, k) = input().split()
n = int(n)
k = int(k)
a = [int(x) for x in input().split()]
s = []
si = []
if 1 <= k <= n <= 100:
	for i in a:
		if i not in s and len(s) < k:
			s.append(i)
			si.append(a.index(i) + 1)
if len(s) == k:
	print('YES')
	for y in si:
		print(y, end=' ')
else:
	print('NO')


(n, k) = map(int, input().split())
a = map(int, input().split())
team = []
already = []
for (count, i) in enumerate(a):
	if i not in already:
		already.append(i)
		team.append(count + 1)
	if len(team) == k:
		print('YES')
		print(' '.join(map(str, team)))
		break
	elif count == n - 1:
		print('NO')


n = int(input().split()[1])
l = list(input().split())
s = set(l)
ans = []
if len(s) >= n:
	print('YES')
	i = 0
	while len(ans) < n:
		if l[i] in s:
			ans.append(i + 1)
			s.discard(l[i])
		i += 1
	print(*ans)
else:
	print('NO')


(n, k) = map(int, input().split())
s = input().split()
a = []
b = []
r = True
for i in range(n):
	t = True
	v = int(s[i])
	for j in range(len(a)):
		if v == a[j]:
			t = False
			break
	if t == True:
		k -= 1
		a.append(v)
		b.append(i + 1)
	if k == 0:
		r = False
		break
if r == True:
	print('NO')
else:
	print('YES')
	for i in b:
		print(i, end=' ')


TN = 1

def solution():
	(n, k) = map(int, input().split())
	a = list(map(int, input().split()))
	d = {}
	for i in range(n):
		d[a[i]] = i
	l = list(set(a))
	if len(l) >= k:
		print('YES')
		for i in range(k):
			print(d[l[i]] + 1, end=' ')
		print()
	else:
		print('NO')
while TN != 0:
	solution()
	TN -= 1


(n, k) = [int(el) for el in input().split()]
a = [int(el) for el in input().split()]
d = dict()
for i in range(n):
	d[a[i]] = i
s = set(a)
if len(s) < k:
	print('NO')
else:
	print('YES')
	col = 0
	for i in s:
		col += 1
		if col > k:
			break
		else:
			print(d[i] + 1, end=' ')


(n, k) = map(int, input().split())
a = list(map(int, input().split()))
s = set(a)
if len(s) >= k:
	print('YES')
	print(*[a.index(_) + 1 for _ in s][:k])
else:
	print('NO')


students = input('')
ratings = input('')
n = students.split()[0]
k = students.split()[1]
ratings = ratings.split()
ratingsIndices = {}
for ratingNum in range(int(n)):
	ratingsIndices[ratings[ratingNum]] = ratingNum + 1
indices = []
for rating in ratingsIndices:
	indices.append(str(ratingsIndices[rating]))
if len(ratingsIndices) >= int(k):
	print('YES')
	indices = indices[:int(k)]
	print(' '.join(indices))
else:
	print('NO')


s = set()
(n, k) = map(int, input().split())
a = list(map(int, input().split()))
for i in a:
	if not i in s:
		s.add(i)
if len(s) >= k:
	print('YES')
	j = 0
	for i in s:
		print(a.index(i) + 1, end=' ')
		j += 1
		if j == k:
			break
else:
	print('NO')


from sys import stdin, stdout
from math import gcd, ceil, sqrt
ii1 = lambda : int(stdin.readline().strip())
is1 = lambda : stdin.readline().strip()
iia = lambda : list(map(int, stdin.readline().strip().split()))
isa = lambda : stdin.readline().strip().split()
mod = 1000000007
(n, k) = iia()
arr = iia()
num = set(arr)
if len(num) >= k:
	print('YES')
	res = []
	for i in num:
		if k == 0:
			break
		else:
			k -= 1
			res.append(arr.index(i) + 1)
	print(*res)
else:
	print('NO')


k = input().split()
l = input().split()
b = set(l)
if len(b) < int(k[1]):
	print('NO')
else:
	print('YES')
	c = []
	inde = []
	for i in range(int(k[0])):
		if l[i] not in c:
			c.append(l[i])
			if len(c) < int(k[1]):
				print(i + 1, end=' ')
			else:
				print(i + 1)
				break


from collections import *
(n, k) = list(map(int, input().split()))
data = list(map(int, input().split()))
c = set()
res = ''
d = 0
for i in range(n):
	if data[i] not in c:
		d += 1
		res += str(i + 1) + ' '
		c.add(data[i])
		if d == k:
			break
if d >= k:
	print('YES')
	print(res[:-1])
else:
	print('NO')


import re
s = input()
n = re.split(' ', s)
n = [int(item) for item in n]
s = input()
n1 = re.split(' ', s)
n1 = [int(item) for item in n1]
alr = []
ind = []
k = 0
i = 0
for i in range(0, n[0]):
	if n1[i] not in alr and k != n[1]:
		alr.append(n1[i])
		ind.append(i + 1)
		k += 1
	if k == n[1]:
		break
t = ''
if k == n[1]:
	print('YES')
	for i in ind:
		t += str(i) + ' '
	print(t[:len(t) - 1])
else:
	print('NO')


(n, k) = map(int, input().split())
arr = list(map(int, input().split()))
s = set()
d = {}
for i in range(len(arr)):
	if arr[i] not in s:
		s.add(arr[i])
		d[arr[i]] = i + 1
if len(s) < k:
	print('NO')
else:
	print('YES')
	ans = []
	for (key, v) in d.items():
		ans.append(v)
		if len(ans) == k:
			break
	print(' '.join(map(str, ans)))


(n, k) = map(int, input().split())
a = [int(x) for x in input().split()]
taken = set({})
people = set({})
count = 0
for i in range(n):
	if a[i] not in taken:
		taken.add(a[i])
		people.add(i + 1)
		count = count + 1
	if count == k:
		break
if count == k:
	print('YES')
	people = list(people)
	for el in people:
		print(el, end=' ')
else:
	print('NO')


(n, k) = input().split(' ')
a = input().split(' ')
ans = {}
for i in range(len(a)):
	if a[i] not in ans:
		ans[a[i]] = i
if len(ans) < int(k):
	print('NO')
else:
	print('YES')
	c = 0
	for i in ans:
		print(ans[i] + 1, end=' ')
		c += 1
		if c == int(k):
			break


(n, k) = input().split(' ')
array = input().split(' ')
aux = 1
repetidos = {}
for elem in array:
	if not elem in repetidos:
		repetidos[elem] = 1
	else:
		repetidos[elem] += 1
if int(k) <= len(repetidos):
	print('YES')
	for elem in repetidos:
		if aux > int(k):
			break
		print(array.index(elem) + 1, end=' ')
		aux += 1
else:
	print('NO')


(n, k) = map(int, input().split())
a = list(map(int, input().split()))
l = []
s = 0
b = min(a)
c = max(a)
for i in range(b, c + 1):
	for j in range(n):
		if i == a[j]:
			s = s + 1
			l.append(j + 1)
			break
if k > s:
	print('NO')
else:
	print('YES')
	for i in range(k):
		print(l[i], end=' ')


nk = list(map(int, input().split()))
a = list(map(int, input().split()))
s = []
r = []
for i in range(nk[0]):
	if a[i] not in s:
		s.append(a[i])
		r.append(i + 1)
		if len(s) == nk[1]:
			break
if len(s) == nk[1]:
	print('YES')
	print(' '.join(map(str, r)))
else:
	print('NO')


(t, k) = map(int, input().split())
d = dict()
l = list(map(int, input().split()))
for i in range(t):
	d[l[i]] = i + 1
if len(set(l)) >= k:
	q = list(set(l))
	print('YES')
	for i in range(k):
		print(d[q[i]], end=' ')
else:
	print('NO')


(n, k) = map(int, input().split())
a = list(map(int, input().split()))
b = [0] * 101
q = 0
ans = []
for i in range(n):
	if b[a[i]] == 0:
		b[a[i]] = 1
		q += 1
		if q <= k:
			ans.append(i + 1)
if q >= k:
	print('YES')
	print(*ans)
else:
	print('NO')


def main():
	(n, k) = input().split(' ')
	n = int(n)
	k = int(k)
	s = [int(i) for i in input().split(' ')]
	new_s = []
	idx = []
	for i in range(len(s)):
		if s[i] not in new_s:
			new_s.append(s[i])
			idx.append(i + 1)
	if len(new_s) >= k:
		print('YES')
		print(' '.join([str(i) for i in idx[:k]]))
	else:
		print('NO')
main()


(n, k) = map(int, input().split())
arr = list(map(int, input().split()))
ans = []
index = []
for i in range(len(arr)):
	if arr[i] not in ans:
		index.append(i + 1)
		ans.append(arr[i])
if len(ans) < k:
	print('NO')
else:
	print('YES')
	print(*index[:k])


(n, k) = map(int, input().split())
l = list(map(int, input().split()))
t = list(set(l))
if len(t) >= k:
	ll = [l.index(t[i]) + 1 for i in range(k)]
	ll.sort()
	print('YES')
	print(' '.join(map(str, ll)))
else:
	print('NO')


input_ = list(input().split(' '))
students_number = int(input_[0])
team_size = int(input_[-1])
students_rating = list(input().split(' '))
lookup = {}
for (idx, student) in enumerate(students_rating):
	if len(lookup) >= team_size:
		break
	if student not in lookup:
		lookup[student] = idx + 1
if len(lookup) < team_size:
	print('NO')
else:
	team = []
	for student in lookup:
		team.append(str(lookup[student]))
		team.append(' ')
	print('YES')
	print(''.join(team[:-1]))


def solve(data):
	(n, k) = map(int, data[0].split())
	a = list(map(int, data[1].split()))
	res = {}
	done = False
	for i in range(len(a)):
		if a[i] not in res:
			res.setdefault(a[i], i + 1)
		if len(res.keys()) >= k:
			done = True
			break
	if done:
		return ('YES', sorted(res.values()))
	else:
		return ('NO', None)
ip = []
ip.append(input().strip())
ip.append(input().strip())
(b, r) = solve(ip)
if r is None:
	print(b)
else:
	print(b)
	print(' '.join((str(x) for x in r)))


(qtd, size) = map(int, input().split())
students = list(map(int, input().split()))
catch = set()
resp = list()
for i in range(qtd):
	if students[i] not in catch:
		catch.add(students[i])
		resp.append(i + 1)
		size -= 1
		if size == 0:
			break
if size == 0:
	print('YES')
	print(*resp)
else:
	print('NO')


import sys
from collections import Counter
(n, k) = map(int, input().split())
a = list(map(int, input().split()))
s = set(a)
res = []
if len(s) >= k:
	print('YES')
	for i in s:
		res.append(a.index(i))
	res.sort()
	for j in range(k):
		print(res[j] + 1, end=' ')
else:
	print('NO')


(a, b) = map(int, input().split())
L = list(map(int, input().split()))
L1 = list(set(L))
if len(L1) >= b:
	print('YES')
	print(' '.join([str(L.index(L1[i]) + 1) for i in range(b)]))
else:
	print('NO')


(n, k) = map(int, input().split())
xs = list(map(int, input().split()))
vals = set(xs)
if len(vals) < k:
	print('NO')
else:
	print('YES')
	print(' '.join([str(xs.index(x) + 1) for x in vals][:k]))


(n, k) = list(map(int, input().split()))
a = list(map(int, input().split()))
b = set(a)
if len(b) >= k:
	print('YES')
	cnt = 0
	for bi in b:
		if cnt == k:
			break
		print(a.index(bi) + 1, end=' ')
		cnt += 1
	print()
else:
	print('NO')


(a, b) = map(int, input().split())
lista = list(map(int, input().split()))
saida = []
saida2 = []
for i in range(1, len(lista) + 1):
	if lista[i - 1] not in saida2:
		saida.append(i)
		saida2.append(lista[i - 1])
		if len(saida) == b:
			break
if len(saida) >= b:
	print('YES')
	for i in saida:
		print(i, end=' ')
	print()
else:
	print('NO')


z = [int(n) for n in input().split()]
s = [int(n) for n in input().split()]
t = []
for n in s:
	if n not in t:
		t.append(n)
if len(t) >= z[1]:
	print('YES')
	for n in range(z[1]):
		print(s.index(t[n]) + 1, end=' ')
else:
	print('NO')


(n, k) = map(int, input().split())
lis = [int(x) for x in input().split()]
a = set(lis)
if len(a) >= k:
	print('YES')
	c = 0
	for i in a:
		print(lis.index(i) + 1, end=' ')
		c += 1
		if c == k:
			break
else:
	print('NO')


(n, k) = map(int, input().split())
a = [int(x) for x in input().split()]
b = list(set(a))
b = sorted(b)
c = []
if len(b) >= k:
	print('YES')
	for i in range(k):
		m = a.index(b[i])
		c.append(m + 1)
	c = map(str, c)
	print(' '.join(c))
else:
	print('NO')


(n, k) = map(int, input().split())
a = list(map(int, input().split()))
answer = [0 for i in range(1 + n)]
answer[1] = a[0]
u = 1
for i in range(1, n):
	if a[i] not in answer:
		answer[i + 1] = a[i]
		u += 1
count = 0
if u < k:
	print('NO')
else:
	print('YES')
	for i in range(1, len(answer)):
		if answer[i] != 0 and count < k:
			print(i, end=' ')
			count += 1


(n, k) = map(int, input().split())
a = list(map(int, input().split()))
b = set(a)
if len(b) < k:
	print('NO')
else:
	print('YES')
	d = [(a[i], i) for i in range(n)]
	c = set()
	for (x, y) in d:
		if k > 0 and (not x in c):
			c.add(x)
			k -= 1
			print(y + 1)


import sys

class myDict(dict):

	def __missing__(self, key):
		return 0
a = sys.stdin.readline().strip()
(n, k) = [int(x) for x in a.split(' ')]
ratings = [int(x) for x in sys.stdin.readline().strip().split(' ')]
team = myDict()
for i in range(n):
	if team[ratings[i]] == 0:
		team[ratings[i]] = i + 1
		if len(team) == k:
			res = ''
			for (index, x) in enumerate(team.values()):
				res += str(x)
				res += ' ' if index < k - 1 else ''
			print('YES')
			print(res)
			sys.exit()
print('NO')


from heapq import heapify, heappush, heappop, heappushpop
from collections import defaultdict as dd, deque as dq, Counter as C
from math import factorial as f, ceil, gcd, sqrt, log
from bisect import bisect_left as bl, bisect_right as br
from itertools import combinations as c, permutations as p
from math import factorial as f, ceil, gcd, sqrt, log
from sys import stdin
input = stdin.readline
mp = lambda : map(int, input().split())
it = lambda : int(input())
ls = lambda : list(input().strip().split())
mt = lambda r: [ls() for _ in range(r)]
lcm = lambda a, b: a * b // gcd(a, b)

def fibo_n(n):
	return ((1 + sqrt(5)) / 2) ** n / sqrt(5)
(a, b) = mp()
l = list(mp())
k = set(l)
d = {}
for i in range(len(l)):
	if l[i] in d:
		continue
	d[l[i]] = i + 1
if len(k) < b:
	print('NO')
else:
	print('YES')
	k = list(k)
	for j in range(b):
		print(d[k[j]], end=' ')
	print()


(n, r) = map(int, input().split())
l = list(map(int, input().split()))
s = set(l)
if len(s) >= r:
	print('YES')
	x = 1
	for i in s:
		if x <= r:
			print(l.index(i) + 1, end=' ')
		else:
			break
		x += 1
else:
	print('NO')


import collections

class Solution:

	def solve(self, n, k, ratings):
		indices = {rating: i + 1 for (i, rating) in enumerate(ratings)}
		count = collections.Counter(ratings)
		if len(count.keys()) >= k:
			return (True, [indices[key] for key in list(count.keys())][:k])
		else:
			return (False, None)
sol = Solution()
[n, k] = list(map(int, input().strip().split()))
ratings = list(map(int, input().strip().split()))
(ans, result) = sol.solve(n, k, ratings)
if ans:
	print('YES')
	print(' '.join(map(str, result)))
else:
	print('NO')


(n, k) = map(int, input().split())
li = list(map(int, input().split()))
ki = [0]
di = []
st = ''
for i in range(n):
	if li[i] not in ki:
		ki.append(li[i])
		di.append(i + 1)
if len(di) >= k:
	print('YES')
	for i in range(k):
		print(di[i], end=' ')
else:
	print('NO')


a = input().split()
x = input().split()
b = int(a[0])
c = int(a[1])
d = 0
f = []
y = []
while d < b:
	i = True
	e = len(f)
	g = 0
	while g < e:
		if x[d] == y[g]:
			i = False
			break
		g = g + 1
	if i == True:
		y = y + [x[d]]
		f = f + [d + 1]
	d = d + 1
a = len(f)
b = 0
t = ''
if a < c:
	print('NO')
else:
	print('YES')
	while b < c:
		t = t + str(f[b]) + ' '
		b = b + 1
	print(t)


import os, sys, math

def main():
	(n, k) = [int(x) for x in input().split()]
	l = [int(x) for x in input().split()]
	occoured = set()
	ans = []
	for i in range(n):
		if l[i] not in occoured:
			occoured.add(l[i])
			ans.append(i + 1)
			if len(ans) == k:
				break
	else:
		print('NO')
		return
	print('YES')
	print(' '.join((str(x) for x in ans)))

def debug(*args):
	if 'DEBUG' in os.environ:
		print(*args)
main()


(n, k) = map(int, input().split())
l = list(map(int, input().split()))
s = []
y = list(set(l))
if len(y) < k:
	print('NO')
	exit()
for i in range(k):
	s.append(l.index(y[i]) + 1)
print('YES')
print(*s)


a = input()
m = int(a.split()[0])
n = int(a.split()[1])
b = input().split()
index = 0
num = []
place = []
while index < m:
	if int(b[index]) not in num:
		num += [int(b[index])]
		place += [index + 1]
	index += 1
if len(num) >= n:
	print('YES')
	k = 0
	j = ''
	while k < n - 1:
		j = j + str(place[k]) + ' '
		k += 1
	j = j + str(place[k])
	print(j)
else:
	print('NO')


(n, k) = map(int, input().split())
l = list(map(int, input().split()))
m = []
for t in l:
	if t not in m:
		m.append(t)
	if len(m) == k:
		break
if len(m) < k:
	print('NO')
else:
	print('YES')
	for j in m:
		print(l.index(j) + 1)


import sys, math
(n, k) = map(int, sys.stdin.readline().split())
liste = list(map(int, sys.stdin.readline().split()))
seen = [False] * 1000
x = 0
for a in liste:
	if not seen[a]:
		seen[a] = 1
	else:
		x += 1
		seen[a] = 5
if n - x >= k:
	print('YES')
else:
	print('NO')
if n - x >= k:
	d = 0
	for loop in range(len(liste)):
		if seen[liste[loop]] == 1 or seen[liste[loop]] == 5:
			print(loop + 1, end=' ')
			seen[liste[loop]] = 7
			d += 1
		if d == k:
			break


(n, k) = [int(c) for c in input().split()]
ratings = [int(c) for c in input().split()]
indices = {}
for (i, rating) in enumerate(ratings):
	if rating not in indices:
		indices[rating] = i
if len(indices) < k:
	print('NO')
else:
	print('YES')
	i = 0
	for idx in indices.items():
		print(idx[1] + 1, end=' ')
		i += 1
		if i == k:
			break


(n, k) = [int(i) for i in input().split()]
ratings = [int(i) for i in input().split()]
result = []
used_ratings = set()
for (i, j) in enumerate(ratings, 1):
	if j in used_ratings:
		continue
	else:
		used_ratings.add(j)
		result.append(i)
		if len(result) == k:
			break
if len(result) < k:
	print('NO')
else:
	print('YES')
	print(*result)


k = int(input().strip().split()[-1])
n = input().strip().split()
s = list(set(n))
if len(s) < k:
	print('NO')
else:
	print('YES')
	print(' '.join([str(n.index(s[i]) + 1) for i in range(k)]))


def main():
	(n, k) = map(int, input().split())
	a = list(map(int, input().split()))
	b = set(a)
	if len(b) >= k:
		print('YES')
		c = []
		for i in b:
			if k == 0:
				break
			c.append(a.index(i) + 1)
			k -= 1
		print(*c)
	else:
		print('NO')
	return
main()


(n, k) = map(int, input().split())
a = map(int, input().split())
h = {}
for (i, x) in enumerate(a):
	h[x] = i + 1
if len(h) < k:
	print('NO')
else:
	print('YES')
	print(*list(sorted(h.values()))[:k])


(n, k) = list(map(int, input().split()))
students = list(map(int, input().split()))
teamed = []
teamed_id = []
for (index, student) in enumerate(students):
	if len(teamed) >= k:
		print('YES')
		print(' '.join(list(map(lambda x: str(x + 1), teamed_id))))
		exit()
	if not student in teamed:
		teamed.append(student)
		teamed_id.append(index)
if len(teamed) >= k:
	print('YES')
	print(' '.join(list(map(lambda x: str(x + 1), teamed_id))))
	exit()
print('NO')


(n, k) = map(int, input().split())
a = list(map(int, input().split()))
d = len(set(a))
e = []
f = []
j = 0
if d < k:
	print('NO')
else:
	print('YES')
	for i in range(0, n):
		w = a[i]
		if w not in f:
			e.append(i + 1)
			f.append(w)
			j = j + 1
		if j >= k:
			for t in range(0, k):
				print(e[t], end=' ')
			exit(0)


def diverseteam():
	input1 = input().split()
	n = int(input1[0])
	k = int(input1[1])
	input2 = input().split()
	rating = []
	for element in input2:
		rating.append(int(element))
	rating_dict = {}
	for i in range(0, len(rating)):
		rating_dict[rating[i]] = i
	new_rating = []
	for i in range(0, len(rating)):
		if rating[i] not in new_rating:
			new_rating.append(rating[i])
	if len(new_rating) < k:
		print('NO')
	else:
		new_list = new_rating[0:k]
		print('YES')
		for item in new_list:
			print(rating_dict[item] + 1)
diverseteam()


(n, k) = map(int, input().split())
a = list(map(int, input().split()))
j = 0
i = 0
x = 0
temp = []
x = []
while j < k and i < n:
	if a[i] not in x:
		temp.append(i + 1)
		x.append(a[i])
		j += 1
	i += 1
if j == k:
	print('YES')
	print(*temp)
else:
	print('NO')


(a, b) = map(int, input().split())
c = list(map(int, input().split()))
d = list()
e = list()
for i in range(len(c)):
	if c[i] not in d:
		d.append(c[i])
		e.append(i)
if len(d) < b:
	print('NO')
else:
	print('YES')
	for i in range(b):
		print(e[i] + 1, end=' ')


(n, k) = map(int, input().split())
l = list(map(int, input().split()))
x = set(l)
p = []
if len(x) < k:
	print('NO')
else:
	print('YES')
	for i in range(len(l)):
		if l[i] not in p and len(p) < k:
			print(i + 1, end=' ')
			p.append(l[i])
print('')


(n, k) = map(int, input().split())
l = [int(x) for x in input().split()]
ans = []
index = []
for i in range(len(l)):
	if l[i] not in ans:
		ans.append(l[i])
		index.append(i + 1)
if len(ans) >= k:
	print('YES')
	for i in range(k):
		print(index[i], end=' ')
else:
	print('NO')


(n, k) = map(int, input().split())
ls = list(map(int, input().split()))
s = set(ls)
if len(s) < k:
	print('NO')
else:
	s = list(s)
	print('YES')
	cnt = 0
	for i in s:
		print(ls.index(i) + 1, end=' ')
		cnt += 1
		if cnt == k:
			break
	print()


(n, k) = map(int, input().split())
array = list(map(int, input().split()))
visited = []
y = []
for (index, element) in enumerate(array):
	if element not in visited:
		y.append(index + 1)
		visited.append(element)
if len(y) < k:
	print('NO')
else:
	print('YES')
	print(' '.join(map(str, y[0:k])))


o = input().rstrip().split(' ')
p = input().rstrip().split(' ')
if int(o[1]) > int(o[0]) or (int(o[1]) == int(o[0]) and len(set(p)) != len(p)):
	print('NO')
elif int(o[1]) == int(o[0]) and len(set(p)) == len(p):
	print('YES')
	for i in range(0, len(p)):
		print(i + 1, end=' ')
else:
	r = list(set(p))
	if int(o[1]) > len(r):
		print('NO')
	else:
		print('YES')
		for i in range(0, int(o[1])):
			t = p.index(r[i])
			print(t + 1, end=' ')


(n, k) = list(map(int, input().split()))
arr = list(map(int, input().split()))
arr2 = list(set(arr))
if len(arr2) >= k:
	print('YES')
	for i in range(k):
		print(arr.index(arr2[i]) + 1, end=' ')
else:
	print('NO')


(n, k) = list(map(int, input().split()))
a = list(map(int, input().split()))
uniq = []
seen = set()
for (i, x) in enumerate(a):
	if x not in seen:
		seen.add(x)
		uniq.append((i + 1, x))
if len(uniq) < k:
	print('NO')
else:
	print('YES')
	b = [str(i) for (i, _) in uniq[:k]]
	print(' '.join(b))


import math
t = list(map(int, input().split()))
q = list(map(int, input().split()))
w = set(q)
if len(w) >= t[1]:
	print('YES')
	m = []
	count = 0
	for i in w:
		if count == t[1]:
			break
		count = count + 1
		m.append(q.index(i) + 1)
	print(*m)
else:
	print('NO')


(n, m) = [int(i) for i in input().split()]
l = [int(i) for i in input().split()]
s = [0] * 101
r = []
for i in range(101):
	r.append([])
t = 0
for i in range(len(l)):
	s[l[i]] += 1
	r[l[i]].append(i + 1)
	if s[l[i]] == 1:
		t += 1
team = []
if t >= m:
	print('YES')
	for i in range(len(s)):
		if s[i] > 0:
			team.append(r[i][0])
			m -= 1
		if m == 0:
			break
	for i in range(len(team) - 1):
		print(team[i], end=' ')
	print(team[-1])
else:
	print('NO')


(n, k) = map(int, input().split())
s = list(map(int, input().split()))
dic = {s[i]: i + 1 for i in range(0, n)}
l = []
for i in s:
	if i not in l:
		l += [i]
a = len(l)
if a < k:
	print('NO')
else:
	print('YES')
	p = ''
	for i in range(0, k):
		p = p + str(dic[l[i]]) + ' '
	print(p)


num1 = input()
num2 = input()
a = []
b = []

def get_the_data(count, num, arr):
	for i in range(0, len(num)):
		if num[i] == ' ':
			arr.append(int(num[count:i]))
			count = i + 1
		elif i == len(num) - 1:
			arr.append(int(num[count:len(num)]))
	return arr
arr1 = get_the_data(0, num1, a)
arr2 = get_the_data(0, num2, b)
check = False
limit = arr1[1]
count = 1
name = arr2[0:len(arr2)]
name.sort()
data = [[0] * 0 for _ in range(name[len(name) - 1] + 1)]
for i in range(0, len(arr2)):
	data[arr2[i]].append(i + 1)
arr2.sort()
index = str(data[arr2[0]][0]) + ' '
for i in range(0, len(arr2) - 1):
	if arr2[i] != arr2[i + 1]:
		count += 1
		index += str(data[arr2[i + 1]][0]) + ' '
	if count == limit:
		check = True
		break
if len(arr2) == 1:
	print('YES')
	print(arr2[0])
elif check == True:
	print('YES')
	print(index)
else:
	print('NO')


(n, m) = list(map(int, input().strip().split()[:2]))
z = list(map(int, input().strip().split()[:n]))
l = []
for x in z:
	if z.index(x) + 1 not in l:
		l.append(z.index(x) + 1)
if len(l) >= m:
	print('YES')
	print(*l[:m])
else:
	print('NO')


(n, k) = list(map(int, input().split()))
a = list(map(int, input().split()))
if len(set(a)) >= k:
	print('YES')
	c = []
	for (i, j) in enumerate(set(a)):
		c.append(a.index(j) + 1)
		if i == k - 1:
			break
	print(' '.join(list(map(str, sorted(c)))))
else:
	print('NO')


(n, k) = [int(s) for s in input().split(' ')]
a = [int(s) for s in input().split(' ')]
d = dict()
for i in range(len(a)):
	x = a[i]
	if not x in d:
		d[x] = (x, i + 1)
res = []
if len(d) < k:
	print('NO')
else:
	print('YES')
	i = 0
	for x in d:
		res.append(d[x][1])
		i = i + 1
		if i >= k:
			break
	print(' '.join([str(x) for x in res]))


def main():
	(n, k) = map(int, input().split())
	a = [int(x) for x in input().split()]
	s = set()
	b = []
	for (i, x) in enumerate(a, 1):
		if x not in s:
			s.add(x)
			b.append(i)
	if len(b) >= k:
		print('YES')
		print(*b[:k])
	else:
		print('NO')
main()


(a, b) = map(int, input().split())
l = list(map(int, input().split()))
s = set(l)
p = len(s)
if p < b:
	print('NO')
	exit(0)
print('YES')
c = 0
g = []
for i in s:
	h = l.index(i)
	g.append(h + 1)
	c += 1
	if c == b:
		break
print(' '.join((str(f) for f in g)))


(n, k) = [int(x) for x in input().split()]
a = [int(x) for x in input().split()]
(_set, _ans) = (set(), [])
for i in range(n):
	if not a[i] in _set:
		_set = _set | {a[i]}
		_ans += [i + 1]
print('YES' if len(_set) >= k else 'NO')
if len(_set) >= k:
	[print(_ans[i], end=' ') for i in range(k)]


(n, k) = [int(x) for x in input().split()]
x = [int(x) for x in input().split()]
ans = []
ppl = []
for (i, v) in enumerate(x):
	if v not in ppl:
		ppl.append(v)
		ans.append(i + 1)
	if len(ans) >= k:
		print('YES')
		print(' '.join([str(x) for x in ans]))
		exit()
print('NO')


def read_nums():
	return [int(x) for x in input().split()]

def main():
	(n, k) = read_nums()
	ratings = read_nums()
	if len(set(ratings)) < k:
		print('NO')
		return
	print('YES')
	saved = set()
	c = 0
	for (index, num) in enumerate(ratings):
		if num in saved:
			continue
		if c == k:
			break
		c += 1
		print(index + 1, end=' ')
		saved.add(num)
main()


(n, k) = map(int, input().split())
e = list(map(int, input().split()))
res = []
res1 = []
for i in range(n):
	if e[i] not in res:
		res.append(e[i])
		res1.append(i + 1)
		k -= 1
	if k == 0:
		break
if k != 0:
	print('NO')
else:
	print('YES')
	print(*res1)


(numero, entrada) = map(int, input().split())
a = list(map(int, input().split()))
(b, c) = ([], [])
for i in range(0, len(a)):
	if a[i] not in b and len(c) + 1 <= entrada:
		b.append(a[i])
		c.append(i + 1)
if len(c) == entrada:
	print('YES')
	nl = []
	for x in range(0, len(c)):
		nl.append(str(c[x]))
	print(' '.join(nl))
else:
	print('NO')


(n, k) = map(int, input().split())
a = list(map(int, input().split()))
flag = True
b = set(a)
if len(b) >= k:
	print('YES')
	ans = []
	for i in range(n):
		if a[i] in b:
			ans.append(i + 1)
			b.remove(a[i])
	print(*ans[:k])
else:
	print('NO')


def main():
	(n, k) = [int(t) for t in input().split()]
	arr = [int(t) for t in input().split()]
	nums = []
	indexes = []
	for i in range(len(arr)):
		if arr[i] not in nums:
			nums.append(arr[i])
			indexes.append(str(i + 1))
			if len(nums) == k:
				print('YES')
				print(' '.join(indexes))
				return
	print('NO')
main()


(n, k) = map(int, input().split())
A = list(map(int, input().split()))
b = set(A)
c = []
if len(b) >= k:
	print('YES')
	for i in b:
		for j in A:
			if i == j:
				c.append(A.index(j) + 1)
				break
	c.sort()
	for s in range(k):
		print(c[s], end=' ')
else:
	print('NO')


(no_of_stds, team_size) = map(int, input().split(' '))
std_rating = list(map(int, input().split(' ')))
if len(set(std_rating)) >= team_size:
	print('YES')
	my_team = list(set(std_rating))[:team_size]
	print(' '.join([str(std_rating.index(i) + 1) for i in my_team]))
else:
	print('NO')


(n, m) = map(int, input().split())
l = list(map(int, input().split()))
s = set(l)
d = list(s)
k = []
if len(s) < m:
	print('NO')
else:
	for i in range(m):
		f = l.index(d[i])
		k.append(f + 1)
	print('YES')
	k.sort()
	for i in range(len(k)):
		k[i] = str(k[i])
	print(' '.join(k))


(n, k) = map(int, input().split())
L = list(map(int, input().split()))
L1 = [str(L.index(j) + 1) for j in set(L)]
if len(L1) >= k:
	print('YES')
	print(' '.join(L1[:k]))
else:
	print('NO')


(n, k) = map(int, input().split())
x = list(map(int, input().split()))
s = set(x)
lst = []
if k > len(s):
	print('NO')
else:
	print('YES')
	lst = list(dict.fromkeys(x))
	ind = []
	for i in range(len(lst)):
		ind.append(x.index(lst[i]) + 1)
	print(*sorted(ind[:k]))


(n, k) = list(map(int, input().split()))
v = list(map(int, input().split()))
s = set()
dic = {}
for i in range(n):
	if v[i] not in s:
		s.add(v[i])
		dic[v[i]] = i
if len(dic) >= k:
	print('YES')
	for i in s:
		if k == 0:
			break
		print(dic[i] + 1, end=' ')
		k -= 1
	print()
else:
	print('NO')


(n, k) = input().split()
n = int(n)
k = int(k)
l = []
l = input().split()
b = {}
for i in range(len(l)):
	if l[i] not in b.values():
		b[i] = l[i]
if len(b.keys()) >= k:
	l1 = list(map(lambda x: x + 1, b.keys()))
	print('YES')
	for i in range(k):
		print(l1[i], end=' ')
else:
	print('NO')


v = {}
(n, k) = map(int, input().strip().split())
t = 1
for i in map(int, input().strip().split()):
	v[i] = t
	t += 1
if len(v) >= k:
	print('YES')
	t = list(v)
	for i in range(k):
		print(v[t[i]], end=' ')
else:
	print('NO')


(size, want) = map(int, input().split())
unique = set()
l = list(map(int, input().split()))
ans = []
for i in l:
	unique.add(i)
step = 0
if len(unique) >= want:
	print('YES')
	for (j, i) in enumerate(l):
		if step == want:
			break
		if i in unique:
			unique.remove(i)
			ans.append(str(j + 1))
			step += 1
	print(' '.join(ans))
else:
	print('NO')


(n, s) = map(int, input().split())
l = list(map(int, input().split()))
w = []
t = []
for i in range(n):
	if l[i] not in w:
		w.append(l[i])
		t.append(l.index(l[i]))
if len(w) >= s:
	print('YES')
	for i in range(s):
		print(t[i] + 1, end=' ')
else:
	print('NO')


import math
a = input().split()
n = int(a[0])
k = int(a[1])
a = []
for i in range(0, 1000):
	a.append(0)
Imas = []
inp = input().split()
for i in range(n):
	if a[int(inp[i])] == 0:
		a[int(inp[i])] += 1
		Imas.append(i)
s = ''
if len(Imas) >= k:
	print('YES')
	for i in range(k):
		if i != k - 1:
			s += str(Imas[i] + 1) + ' '
		else:
			s += str(Imas[i] + 1)
	print(s)
else:
	print('NO')


(n, k) = map(int, input().split())
x = list(map(int, input().split()))
dict = {}
for i in x:
	if i not in dict and len(dict) < k:
		dict[i] = x.index(i) + 1
if len(dict) >= k:
	print('YES')
	for i in dict:
		print(dict[i], end=' ')
else:
	print('NO')


(n, t) = map(int, input().split())
lis = list(map(int, input().split()))
count = 0
lisa = []
lista = []
for i in range(n):
	if count < t:
		if lis[i] not in lisa:
			count += 1
			lisa.append(lis[i])
			lista.append(i + 1)
if len(lista) != t:
	print('NO')
else:
	print('YES')
	for i in lista:
		print(i, end=' ')


(n, k) = map(int, input().split())
a = list(map(int, input().split()))
used = list()
res = list()
cur = 0
for i in range(n):
	if a[i] not in used:
		cur += 1
		res.append(i + 1)
		used.append(a[i])
		if cur == k:
			print('YES')
			print(*res)
			exit(0)
print('NO')


import sys
(a, b) = list(map(int, input().split()))
arr = list(map(int, input().split()))
d = dict()
cnt = 0
res = list()
for (i, v) in enumerate(arr):
	if v not in d:
		d[v] = True
		cnt += 1
		res.append(i + 1)
	if len(res) == b:
		print('YES')
		print(' '.join(map(str, res)))
		sys.exit()
print('NO')


(n, k) = map(int, input().split())
li = list(map(int, input().split()))
num = []
ans = []
for i in range(n):
	if li[i] not in num:
		ans.append(i + 1)
		num.append(li[i])
if len(ans) >= k:
	print('YES')
	for i in range(k):
		print(ans[i], end=' ')
else:
	print('NO')


(a, b) = map(int, input().split())
x = list(map(int, input().split()))
j = 0
z = []
r = set(x)
if len(r) >= b:
	print('YES')
	for i in range(len(x)):
		if x[i] in z:
			continue
		if x[i] in r:
			print(i + 1, end=' ')
			z.append(x[i])
			j = j + 1
		if j == b:
			break
else:
	print('NO')


(n1, n2) = map(int, input().split())
lis = input().split(' ')
lis2 = []
count = []
for i in range(n1):
	for j in range(len(lis)):
		if lis[i] not in lis2:
			lis2.append(lis[i])
			count.append(i + 1)
		else:
			lis2.remove(lis[i])
			lis2.append(lis[i])
if len(lis2) == n2:
	print('YES')
	print(*count)
elif len(lis2) > n2:
	n3 = len(count)
	c = n3
	for k in range(n2, n3):
		count.pop()
	print('YES')
	print(*count)
else:
	print('NO')


import sys
from math import sqrt, floor, factorial
from collections import deque, Counter
inp = sys.stdin.readline
read = lambda : list(map(int, inp().strip().split()))

def solve():
	(n, k) = read()
	arr = read()
	dic = dict()
	for i in range(n):
		if not arr[i] in dic:
			dic[arr[i]] = i
			if len(dic) == k:
				break
	if len(dic.keys()) >= k:
		print('YES')
		print(*[dic[i] + 1 for i in dic])
	else:
		print('NO')
solve()


import sys
(n, k) = input().split()
(n, k) = (int(n), int(k))
li1 = list(input().split())
s = list(li1)
ss = set(s)
s1 = list(ss)
if len(s1) < k:
	print('NO')
	sys.exit(0)
print('YES')
lif = []
kaj = [-1] * 1000
j = 1
s1.sort()
for ii in s1:
	if j > k:
		break
	lif.append(li1.index(ii))
	j += 1
lif.sort()
output = ''.join((str(int(i) + 1) + ' ' for i in lif))
print(output)


(n, k) = [int(i) for i in input().split()]
lst = list(map(int, input().split()))
lst2 = list(set(lst))
if len(lst2) < k:
	print('NO')
else:
	print('YES')
	s = ''
	for i in range(k):
		s += str(lst.index(lst2[i]) + 1) + ' '
	print(s)


(n, k) = map(int, input().split())
numbers = input()
list_of_numbers = list(map(int, numbers.split()))
if len(set(list_of_numbers)) < k:
	print('NO')
else:
	count = 0
	str_of_num = ''
	for num in set(list_of_numbers):
		if count != k:
			count = count + 1
		else:
			break
		index_of_num = list_of_numbers.index(num)
		str_of_num += str(index_of_num + 1)
		str_of_num += ' '
	print('YES')
	print(str_of_num)


(n, k) = map(int, input().split())
list = map(int, input().split())
indices = []
disVal = []
counter = 1
for i in list:
	if i not in disVal:
		indices.append(counter)
		disVal.append(i)
	counter += 1
if len(indices) >= k:
	print('YES')
	print(*indices[:k])
else:
	print('NO')


def int_lst_input():
	return [int(val) for val in input().split(' ')]

def int_input():
	return int(input())

def print_lst(lst):
	print(' '.join([str(val) for val in lst]))

def solve():
	(n, k) = int_lst_input()
	a = int_lst_input()
	seen = set()
	res = []
	for (i, val) in enumerate(a):
		if val not in seen:
			res.append(i + 1)
			seen.add(val)
		if len(res) == k:
			break
	if len(res) == k:
		print('YES')
		print_lst(res)
	else:
		print('NO')
solve()


(n, k) = map(int, input().split())
L = list(map(int, input().split()))
s = list(set(L))
j = 0
dic = dict()
for i in L:
	j += 1
	dic[i] = j
if len(s) < k:
	print('NO')
else:
	print('YES')
	for i in s[:k]:
		print(dic[i], end=' ')
	print()


def main():
	(n, k) = map(int, input().split())
	vecTeams = list(map(int, input().split()))
	(indexVec, lenIndexVec) = uniqueSet(vecTeams, n)
	if lenIndexVec < k:
		print('NO')
	else:
		print('YES')
		for i in range(k):
			print(indexVec[i], end=' ')

def uniqueSet(vec, n):
	uniqueVec = []
	uniqueIndex = []
	lenIndex = 0
	for x in vec:
		if x not in uniqueVec:
			uniqueVec.append(x)
			uniqueIndex.append(vec.index(x) + 1)
			lenIndex += 1
	return (uniqueIndex, lenIndex)
main()


(n, k) = map(int, input().split())
t = list(map(int, input().split()))
s = set(t)
if len(s) < k:
	print('NO')
else:
	num = 0
	print('YES')
	s = sorted(s, key=t.index)
	for x in s:
		if num == k:
			break
		print(t.index(x) + 1, end=' ')
		num += 1


a = list(input().split())
c = list(input().split())
f = []
for i in range(0, len(c)):
	if c[i] not in f:
		f.append(c[i])
if len(f) < int(a[1]):
	print('NO')
if len(f) >= int(a[1]):
	print('YES')
	for i in range(0, int(a[1])):
		print(c.index(f[i]) + 1, end=' ')


def main():
	line = str(input()).split()
	(n, k) = (int(line[0]), int(line[1]))
	line = str(input()).split()
	memo = {}
	for i in range(len(line)):
		r = int(line[i])
		if not r in memo:
			memo.update({r: i + 1})
		if len(memo) == k:
			print('YES')
			print(*memo.values(), sep=' ')
			return
	print('NO')
main()


lol = [int(i) for i in input().split()]
a = lol[0]
b = lol[1]
lox = [int(i) for i in input().split()]
dope = set()
for j in lox:
	dope.add(j)
if len(dope) < b:
	print('NO')
else:
	boi = set()
	da = []
	for q in range(len(lox)):
		if lox[q] in dope and lox[q] not in boi:
			boi.add(lox[q])
			da.append(q + 1)
	print('YES')
	bs = 0
	for k in da:
		bs += 1
		print(k, end=' ')
		if bs == b:
			break


(n, k) = input().split(' ')
n = int(n)
k = int(k)
arr = [int(x) for x in input().split()]
index = []
used = []
for i in range(n):
	if k == 0:
		break
	val = arr[i]
	if not val in used:
		used.append(val)
		index.append(i + 1)
		k -= 1
if k == 0:
	print('YES')
	print(' '.join((str(x) for x in index)))
else:
	print('NO')


(n, k) = map(int, input().split())
l = list(map(int, input().split()))
j = list(set(l))
if len(j) >= k:
	print('YES')
	for t in range(k):
		(print(l.index(j[t]) + 1),)
else:
	print('NO')


def main():
	(n, k) = map(int, input().split())
	x = list(map(int, input().split()))
	dic = {}
	for i in range(n):
		if x[i] not in dic.keys():
			dic[x[i]] = i + 1
	if len(dic.keys()) >= k:
		print('YES')
		x = list(dic.values())[0:k]
		print(*x, sep=' ')
	else:
		print('NO')
main()


(n, k) = [int(i) for i in input().split()]
l = [int(i) for i in input().split()]
x = set(l)
l1 = []
if len(x) >= k:
	print('YES')
	c = 0
	for i in x:
		c += 1
		l1.append(l.index(i) + 1)
		if c == k:
			break
	l1.sort()
	for i in l1:
		print(i, end=' ')
else:
	print('NO')


from collections import Counter
(n, k) = input().split(' ')
(n, k) = (int(n), int(k))
arr = input().split(' ')
arr = [int(i) for i in arr]
c = Counter(arr)
temp = c.most_common(n)
if len(temp) >= k:
	print('YES')
	output = ''
	for i in range(k):
		output += str(arr.index(temp[i][0]) + 1) + ' '
	print(output)
else:
	print('NO')


s = input().split()
n = int(s[0])
k = int(s[1])
r = input().split()
w = set(r)
if len(w) < k:
	print('NO')
else:
	print('YES')
	a = ' '.join([str(r.index(e) + 1) for e in list(w)[:k]])
	print(a)


(n, k) = map(int, input().split())
arr = list(map(int, input().split()))
s = set(arr)
if len(s) < k:
	print('NO')
else:
	print('YES')
	print(*[arr.index(i) + 1 for i in s][:k])


def main():
	(n, k) = tuple(map(int, input().split()))
	a = tuple(map(int, input().split()))
	d = {}
	q = 0
	for x in a:
		if not x in d:
			d[x] = 0
			q += 1
	if q < k:
		print('NO')
		return
	print('YES')
	q = 0
	for i in range(len(a)):
		if q == k:
			return
		if d[a[i]] == 0:
			print(i + 1, end=' ')
			d[a[i]] = 1
			q += 1
main()


(n, k) = map(int, input().split())
t = []
t += map(int, input().split())
ans = []
ans2 = []
for i in range(n):
	if t[i] not in ans2:
		ans.append(i + 1)
		ans2.append(t[i])
if len(ans) >= k:
	print('YES')
	for i in range(k):
		print(ans[i], end=' ')
else:
	print('NO')


(n, k) = map(int, input().split())
cnt = 0
lst = []
res = []
lst = list(map(int, input().split()))
for i in range(n):
	ok = True
	for j in range(i):
		if lst[j] == lst[i]:
			ok = False
	if ok:
		res.append(i + 1)
if len(res) >= k:
	print('YES')
	for i in range(k):
		print(res[i], end=' ')
else:
	print('NO')


tedad = [0 for i in range(101)]
a = input()
a = a.split(' ')
b = input()
b = b.split(' ')
tedad_nahayi = [int(b[i]) for i in range(int(a[0]))]
list_nahayi = [0 for i in range(int(a[0]))]
counter = 0
for i in tedad_nahayi:
	tedad[i] += 1
for x in tedad:
	if x != 0:
		counter += 1
if counter < int(a[1]):
	print('NO')
else:
	print('YES')
	for x in range(len(tedad)):
		if tedad[x] != 0:
			list_nahayi[tedad_nahayi.index(x)] = tedad_nahayi.index(x) + 1
counter = 0
for i in list_nahayi:
	if i != 0:
		print(i, end=' ')
		counter += 1
	if counter >= int(a[1]):
		break


import random
nk = input()
a = input()
(n, k) = nk.split()
n = int(n)
k = int(k)
l = []
for i in a.split():
	l.append(int(i))
s = set(l)
if len(l) == 0:
	print('NO')
elif len(s) > k or len(s) == k:
	print('YES')
	temp = []
	for i in s:
		temp.append(l.index(i) + 1)
	ans = []
	for i in range(0, k):
		x = random.choice(temp)
		ans.append(x)
		temp.remove(x)
	ans.sort()
	for i in ans:
		print(i, end=' ')
else:
	print('NO')


(n, k) = list(map(int, input().split()))
a = list(map(int, input().split()))
d = {}
r = []
for (i, v) in enumerate(a):
	if v in d:
		continue
	else:
		d[v] = 0
		r.append(i + 1)
if len(r) >= k:
	print('YES')
	print(*r[0:k])
else:
	print('NO')


si = str(input())
si = si.split(' ')
n = int(si[0])
k = int(si[1])
dic = {}
c = 0
si = str(input())
si = si.split(' ')
for i in range(len(si)):
	inp = int(si[i])
	if inp not in dic:
		dic[inp] = i
		c = c + 1
if c >= k:
	print('YES')
	st = ''
	c = 0
	for i in dic.values():
		if c == k:
			break
		st = st + str(i + 1) + ' '
		c = c + 1
	print(st)
else:
	print('NO')


from sys import stdin, stdout
import bisect

def st():
	return list(stdin.readline())

def inp():
	return int(stdin.readline())

def li():
	return list(map(int, stdin.readline().split()))

def mp():
	return map(int, stdin.readline().split())

def pr(n):
	stdout.write(str(n) + '\n')

def soe(limit):
	l = [1] * (limit + 1)
	prime = []
	for i in range(2, limit + 1):
		if l[i]:
			for j in range(i * i, limit + 1, i):
				l[j] = 0
	for i in range(2, limit + 1):
		if l[i]:
			prime.append(i)
	return prime

def segsoe(low, high):
	limit = int(high ** 0.5) + 1
	prime = soe(limit)
	n = high - low + 1
	l = [0] * (n + 1)
	for i in range(len(prime)):
		lowlimit = low // prime[i] * prime[i]
		if lowlimit < low:
			lowlimit += prime[i]
		if lowlimit == prime[i]:
			lowlimit += prime[i]
		for j in range(lowlimit, high + 1, prime[i]):
			l[j - low] = 1
	for i in range(low, high + 1):
		if not l[i - low]:
			if i != 1:
				print(i)

def power(a, n):
	r = 1
	while n:
		if n & 1:
			r = r * a
			n = n - 1
		else:
			a = a * a
			n = n >> 1
	return r

def solve():
	(n, k) = mp()
	l = li()
	s = list(set(l))
	if len(s) < k:
		pr('NO')
	else:
		pr('YES')
		d = {}
		for i in range(n):
			if l[i] not in d:
				d[l[i]] = i + 1
		for i in range(k):
			print(d[s[i]], end=' ')
solve()


(n, k) = list(map(int, input().split()))
s = list(map(int, input().split()))
a = set()
x = 0
sol = []
for i in range(n):
	if s[i] not in a and x < k:
		a.add(s[i])
		x += 1
		sol.append(i + 1)
	if x == k:
		break
if x == k:
	print('YES')
	for i in sol:
		print(i, end=' ')
else:
	print('NO')


(n, k) = map(int, input().split())
a = list(map(int, input().split()))
t = [0 for x in range(110)]
cnt1 = 0
for i in a:
	cnt1 += 1
	if t[i] == 0:
		t[i] = cnt1
cnt = 0
team = []
for j in t:
	if j > 0:
		cnt += 1
		team.append(j)
	if cnt == k:
		print('YES')
		for i1 in team:
			print(i1, end=' ')
		exit()
print('NO')


(n, k) = [int(x) for x in input().split(' ')]
lis = [int(x) for x in input().split(' ')]
lis1 = []
index = []
for i in range(n):
	if lis[i] not in lis1:
		lis1.append(lis[i])
		index.append(i + 1)
if len(lis1) >= k:
	print('YES')
	for i in range(k):
		print(index[i], end=' ')
else:
	print('NO')


l = list(map(int, input().split()))
l1 = list(map(int, input().split()))
se = list(set(l1))
if len(se) < l[1]:
	print('NO')
else:
	print('YES')
	l2 = []
	for i in range(l[1]):
		l2.append(l1.index(se[i]) + 1)
	print(*l2, sep=' ')


def main():
	[n, k] = [int(_) for _ in input().split()]
	a = [int(_) for _ in input().split()]
	marked = [1] * n
	for i in range(n - 1):
		if marked[i] == 1:
			for j in range(i + 1, n):
				if a[i] == a[j]:
					marked[j] = 0
	if sum(marked) >= k:
		print('YES')
		i = 0
		j = 0
		results = [''] * k
		while i < k:
			while marked[j] == 0:
				j += 1
			results[i] = str(j + 1)
			i += 1
			j += 1
		print(' '.join(results))
	else:
		print('NO')
main()


(n, m) = map(int, input().split())
l1 = [*map(int, input().split())]
a = []
e = set(l1)
if len(e) < m:
	print('NO')
	exit()
print('YES')
for i in e:
	a.append(l1.index(i) + 1)
a.sort()
print(*a[:m])


(n, k) = map(int, input().split())
a = list(map(int, input().split()))
li = []
index = []
for i in range(len(a)):
	if a[i] not in li:
		li.append(a[i])
		index.append(i + 1)
if len(index) < k:
	print('NO')
else:
	print('YES')
	print(*index[0:k])


(n, k) = list(map(int, input().split()))
a = list(map(int, input().split()))
b = set()
c = set()
for (i, x) in enumerate(a):
	if x not in c:
		b.add(i + 1)
		c.add(x)
	if len(b) == k:
		print('YES')
		for (j, y) in enumerate(b):
			print(y, end=' ')
		print()
		exit()
print('NO')


(n, k) = map(int, input().split())
z = list(map(int, input().split()))
ll = list(set(z))
if len(ll) < k:
	print('NO')
else:
	print('YES')
	for i in range(k):
		print(z.index(ll[i]) + 1, end=' ')


(n, k) = map(int, input().split())
arr = list(map(int, input().split()))
arr1 = []
arr2 = []
for i in range(n):
	if arr[i] not in arr1:
		arr1.append(arr[i])
		arr2.append(i + 1)
if len(arr1) < k:
	print('NO')
else:
	print('YES')
	print(*arr2[:k])


from collections import defaultdict
(n, k) = [int(i) for i in input().split()]
a = [int(i) for i in input().split()]
a_dict = defaultdict(int)
for i in range(n):
	a_dict[a[i]] = i
if k > len(a_dict):
	print('NO')
else:
	print('YES')
	counter = 0
	for i in a_dict:
		print(a_dict[i] + 1, end=' ')
		counter += 1
		if counter == k:
			break


(n, k) = map(int, input().split())
dict = {}
arr = list(map(int, input().split()))
s = set(arr)
x = []
for i in range(0, 101):
	x.append(int(-1))
for i in range(0, n):
	x[arr[i]] = int(i)
res = []
for i in range(1, 101):
	if x[i] >= 0:
		res.append(x[i] + 1)
if len(s) >= k:
	print('YES')
	res = res[:k]
	print(*res)
else:
	print('NO')


entrada = [int(x) for x in input().split()]
tam_time = entrada[1]
ratings = [int(x) for x in input().split()]
time = []
indices = []
indice = 0
ok = 0
for i in ratings:
	indice += 1
	if i not in time:
		time.append(i)
		indices.append(indice)
while True:
	if len(time) == tam_time:
		print('YES')
		print(' '.join(map(str, indices)))
		break
	elif len(time) > tam_time:
		time.pop()
		indices.pop()
	else:
		print('NO')
		break


(n, k) = map(int, input().split())
arr = input().split()
if len(set(arr)) >= k:
	print('YES')
	c = 1
	for x in set(arr):
		if c <= k:
			print(arr.index(x) + 1, end=' ')
			c += 1
		else:
			break
else:
	print('NO')


a = input().split()
n = int(a[0])
k = int(a[1])
a = input().split()
b = []
c = []
for i in range(n):
	a[i] = int(a[i])
	Dragon = True
	for j in range(len(b)):
		if a[i] == b[j]:
			Dragon = False
			break
	if Dragon:
		b += [a[i]]
		c += [i + 1]
if len(b) >= k:
	print('YES')
	for i in range(k):
		print(c[i], end='  ')
else:
	print('NO')


(n, k) = [int(i) for i in input().split()]
a = [int(i) for i in input().split()]
b = []
for i in range(n):
	b.append([a[i], i])
b.sort()
c = [b[0][1]]
f = 1
for i in range(n - 1):
	if b[i + 1][0] != b[i][0]:
		c.append(b[i + 1][1])
		f += 1
if f >= k:
	print('YES')
	for i in range(k):
		print(c[i] + 1, end=' ')
else:
	print('NO')


x = set()
distinct_indices = []
no_of_distinct_indices = 0
input_list = list(map(int, input().split(' ')))
n = input_list[0]
k = input_list[1]
k_distinct_indices = 0
number_list = list(map(int, input().split(' ')))
for (i, number) in enumerate(number_list):
	if number not in x:
		x.add(number)
		distinct_indices.append(i + 1)
		no_of_distinct_indices = no_of_distinct_indices + 1
		if no_of_distinct_indices == k:
			k_distinct_indices = 1
			break
if k_distinct_indices == 1:
	print('YES')
	for i in distinct_indices:
		print(i, end=' ')
else:
	print('NO')


rd = lambda : map(int, input().split())
(n, k) = rd()
a = rd()
r = []
p = set()
for i in range(n):
	x = next(a)
	if x not in p:
		r.append(i + 1)
		p.add(x)
if len(r) < k:
	print('NO')
else:
	print('YES')
	print(*r[:k])


(n, k) = map(int, input().split())
a = list(map(int, input().split()))
srt = [[None, None]] * n
for i in range(0, n):
	srt[i] = [a[i], i + 1]
srt.sort()
dsct = [srt[0][1]]
for i in range(1, n):
	if srt[i][0] != srt[i - 1][0]:
		dsct.append(srt[i][1])
if len(dsct) < k:
	exit(print('NO'))
print('YES')
print(*dsct[:k])


(n, k) = map(int, input().split())
s = list(map(int, input().split()))
s_copy = list(set(s))
if len(s_copy) < k:
	print('NO')
else:
	print('YES')
	for i in range(len(s_copy)):
		if i == k:
			break
		for j in range(len(s)):
			if s[j] == s_copy[i]:
				print(j + 1, end=' ')
				break


from collections import defaultdict as dfd
(N, K) = map(int, input().split())
A = list(map(int, input().split()))
B = dfd(list)
if len(set(A)) >= K:
	t = []
	for i in range(len(A)):
		B[A[i]].append(i + 1)
	for (k, v) in B.items():
		t.append(v[0])
	t.sort()
	print('YES')
	for i in range(K):
		print(t[i], end=' ')
else:
	print('NO')


def main():
	(n, k) = map(int, input().split())
	S = list(map(int, input().split()))
	X = [0 for _ in range(101)]
	m = 0
	E = [0 for _ in range(k)]
	for i in range(n):
		if X[S[i]] == 0:
			m += 1
			X[S[i]] = 1
			if m > k:
				break
			E[m - 1] = str(i + 1)
	if m >= k:
		print('YES')
		print(' '.join(E))
	else:
		print('NO')
main()


(n, k) = tuple(map(int, input().split()))
nums = list(map(int, input().split()))
s = set(nums)
if k <= len(s):
	print('YES')
	for i in range(k):
		print(nums.index(s.pop()) + 1, end=' ')
else:
	print('NO')


(n, m) = list(map(int, input().split()))
l = list(map(int, input().split()))
p = set(l)
k = list(p)
if len(p) >= m:
	print('YES')
	for i in range(m):
		print(l.index(k[i]) + 1, end=' ')
elif len(p) < m:
	print('NO')


(n, k) = [int(i) for i in input().strip().split()]
arr = [int(i) for i in input().strip().split()]
dic = {}
for i in range(n):
	dic[arr[i]] = i + 1
s = list(set(arr))
if len(s) < k:
	print('NO')
else:
	print('YES')
	for i in range(k):
		print(dic[s[i]], end=' ')


l = input().split()
n = int(l[0])
k = int(l[1])
reap = 0
v = input().split()
v2 = []
for i in range(n):
	if int(v[i]) not in v2:
		v2.append(int(v[i]))
	else:
		reap += 1
if n - reap < k:
	print('NO')
else:
	v2 = []
	v3 = []
	for i in range(n):
		if v[i] not in v2:
			v2.append(v[i])
			v3.append(str(i + 1))
			if len(v3) == k:
				break
	print('YES')
	print(' '.join(v3))


from typing import List
(n, k) = input().split()
n = int(n)
k = int(k)
o = k
students = [int(x) for x in input().split()]
index: List[int] = []
s = []
for i in students:
	if k == 0:
		break
	if i not in s:
		s.append(i)
		k = k - 1
		index.append(students.index(i) + 1)
if index.__len__() == o:
	print('YES')
	print(' '.join(map(str, index)))
else:
	print('NO')


(n, k) = map(int, input().rstrip().split())
lis = list(map(int, input().rstrip().split()))
team = []
ind = []
h = 0
while h < len(lis):
	if lis[h] not in team:
		team.append(lis[h])
		ind.append(h)
	h += 1
if len(team) < k:
	print('NO')
else:
	print('YES')
	i = 0
	while i < k:
		print(ind[i] + 1)
		i += 1


(n, m) = map(int, input().split())
a = list(map(int, input().split()))
cnt = []
k = 0
for x in a:
	if x not in cnt:
		cnt.append(x)
if len(cnt) >= m:
	print('YES')
	i = 0
	while i < m:
		print(a.index(cnt[i]) + 1, end=' ')
		i += 1
else:
	print('NO')


(n, k) = list(map(int, input().split(' ')))
(el, st, pos) = (list(map(int, input().split(' '))), [], [])
for i in range(len(el)):
	if el[i] not in st:
		pos.append(i)
		st.append(el[i])
print('NO' if k > len(pos) else 'YES\n' + ' '.join([str(pos[i] + 1) for i in range(k)]))


(n, k) = map(int, input().split())
l = list(map(int, input().split()))
s = set(l)
a = list(s)
if len(s) < k:
	print('NO')
else:
	print('YES')
	for x in range(k):
		print(l.index(a[x]) + 1, end=' ')


x = input()
x = x.split()
x = list(map(int, x))
y = input()
y = y.split()
y = list(map(int, y))
a = 0
b = []
z = list(dict.fromkeys(y))
lz = len(z)
if lz >= x[1]:
	print('YES')
	for i in range(len(y)):
		h = i
		if len(b) < x[1]:
			if y[h] == z[a]:
				b.append(h + 1)
				a += 1
	print(*b, sep=' ')
if lz < x[1]:
	print('NO')


(no, num) = map(int, input().split(' '))
arr = list(map(int, input().split(' ')))
already = []
res = []
for i in range(len(arr)):
	if arr[i] not in already:
		already.append(arr[i])
		res.append(i + 1)
	if len(res) == num:
		break
if len(res) == num:
	print('YES')
	string = ''
	for ch in res:
		string += str(ch) + ' '
	print(string)
else:
	print('NO')


(n, k) = map(int, input().split())
d = dict(map(lambda v: v[::-1], enumerate(map(int, input().split()))))
if len(d) < k:
	print('NO')
else:
	print('YES')
	print(' '.join(map(lambda v: str(v + 1), list(d.values())[:k])))


(n, k) = map(int, input().split())
a = list(map(int, input().split()))
c = 0
s = set()
res = []
for i in range(n):
	if a[i] not in s:
		c += 1
		s.add(a[i])
		res.append(str(i + 1))
if c < k:
	print('NO')
else:
	print('YES')
	print(' '.join(res[:k]))


(a, b) = map(int, input().split())
c = [i for i in map(int, input().split())]
d = set(c)
d = list(d)
s = []
if len(d) < b:
	print('NO')
else:
	print('YES')
	for i in d:
		s.append(c.index(i) + 1)
	w = s[0:b]
	w.sort()
	print(*w, sep=' ')


(_, k) = map(int, input().split())
ai = [i for i in input().split()]
temp_ai = set()
cache = list()
for i in range(len(ai)):
	if ai[i] not in temp_ai:
		temp_ai.add(ai[i])
		cache.append(i + 1)
if len(cache) >= k:
	print('YES')
	print(' '.join([str(i) for i in cache[:k]]))
else:
	print('NO')


firstline = input().split()
secondline = list(map(int, input().split()))
k = int(firstline[0])
n = int(firstline[1])
rates = []
indexes = []
for i in range(len(secondline)):
	if secondline[i] not in rates:
		rates.append(secondline[i])
		indexes.append(i + 1)
if len(rates) >= n:
	print('YES\n', ' '.join(map(str, indexes[:n])), sep='')
else:
	print('NO')


(n, k) = map(int, input().split())
lst = [int(x) for x in input().split()]
lstaya = set(lst)
if len(lstaya) < k:
	print('NO')
elif len(lstaya) == k:
	print('YES')
	for i in lstaya:
		print(lst.index(i) + 1, end=' ')
else:
	counter = 0
	print('YES')
	for i in lstaya:
		if counter >= k:
			break
		print(lst.index(i) + 1, end=' ')
		counter += 1


n1 = input().split()
n = int(n1[0])
k = int(n1[1])
n2 = input().split()
l = []
nums = []
count = 0
for x in range(0, n):
	y = int(n2[x])
	l.append(y)
	if y in nums:
		continue
	else:
		nums.append(y)
		count += 1
if count < k:
	print('NO')
else:
	print('YES')
	st = ''
	for z in nums[:k]:
		z1 = l.index(z) + 1
		st = st + str(z1) + ' '
	print(st)


(n, k) = list(map(int, input().split(' ')))
a = list(map(int, input().split(' ')))
s = set([])
res = []
for (ind, num) in enumerate(a):
	if num not in s:
		s.add(num)
		res.append(ind + 1)
	if len(res) == k:
		break
if len(res) == k:
	print('YES')
	print(*res)
else:
	print('NO')


[n, k] = list(map(int, input().strip().split()))
ratings = list(map(int, input().strip().split()))
unique_ratings = set(ratings)
unique_count = len(unique_ratings)
if unique_count < k:
	print('NO')
else:
	print('YES')
	out_list = []
	count = 0
	for _ur in unique_ratings:
		out_list.append(ratings.index(_ur) + 1)
		count += 1
		if count >= k:
			break
	out_list.sort()
	for _e in out_list:
		print(_e, end=' ')


(n, k) = map(int, input().split())
l = list(map(int, input().split()))
(temp, temp1) = ({}, [])
for val in range(n):
	if temp1.count(l[val]) == 0:
		temp1 += [l[val]]
		temp[val + 1] = l[val]
key_list = list(temp.keys())
if len(key_list) >= k:
	print('YES')
	print(*key_list[0:k])
else:
	print('NO')


(n, k) = input().split()
n = int(n)
k = int(k)
notas = []
notas = input().split()
formado = 0
membros = 0
for i in range(n):
	notas[i] = int(notas[i])
time = []
valor = []
for i in range(n):
	if membros < k:
		if notas[i] not in valor:
			time.append(i + 1)
			valor.append(notas[i])
			membros += 1
	else:
		formado = 1
if membros == k:
	formado = 1
if formado:
	print('YES')
	for j in range(k):
		time[j] = str(time[j])
	printavel = ' '
	print(printavel.join(time))
else:
	print('NO')


(n, k) = map(int, input().split())
a = list(map(int, input().split()))
d = {}
for item in a:
	if item in d:
		d[item] += 1
	else:
		d[item] = 1
if len(d) < k:
	print('NO')
else:
	print('YES')
	i = 1
	for item in d:
		print(a.index(item) + 1, end=' ')
		i += 1
		if i == k + 1:
			break


import sys
get = lambda : map(int, input().split())

def main():
	(Num_Students, Max_Students) = get()
	arr = dict(zip(get(), range(1, Num_Students + 1)))
	if len(arr) >= Max_Students:
		print('YES')
		print(*list(arr.values())[:Max_Students])
	else:
		print('NO')
main()


(a, b) = map(int, input().split())
li = list(map(int, input().split()))
li2 = []
c = 0
for i in range(a):
	if li[i] not in li2:
		li2.append(li[i])
		c += 1
if c > b - 1:
	d = 0
	print('YES')
	for item in li2:
		print(li.index(item) + 1, end=' ')
		d += 1
		if d == b:
			break
else:
	print('NO')


(n, k) = list(map(int, input().split()))
astr = list(map(int, input().split()))
g = []
h = []
for i in range(len(astr)):
	if astr[i] not in g:
		h.append(i + 1)
		g.append(astr[i])
if len(h) >= k:
	print('YES')
	for i in range(k):
		print(h[i], end=' ')
else:
	print('NO')


(n, k) = map(int, input().split())
a = list(map(int, input().split()))
b = set(a)
if len(b) < k:
	print('NO')
	exit()
c = 0
f = []
print('YES')
for i in b:
	f.append(a.index(i) + 1)
	c += 1
	if c == k:
		f = sorted(f)
		for i in range(len(f)):
			print(f[i], end=' ')
		exit()


(n, k) = map(int, input().split())
l1 = list(map(int, input().split()))
s = set(l1)
if len(s) >= k:
	print('YES')
	ans = ''
	l2 = list(s)
	for f1 in range(k):
		for f2 in range(len(l1)):
			if l2[f1] == l1[f2]:
				ans += str(f2 + 1) + ' '
				break
	print(ans.strip())
else:
	print('NO')


(n, k) = (int(s) for s in input().split(' '))
a = input().split(' ')
distinct = list(set(a))
mapping = {a[index]: index + 1 for index in range(n)}
if len(distinct) < k:
	print('NO')
else:
	print('YES\n' + ' '.join([str(mapping[i]) for i in distinct[:k]]))


from collections import *
(n, k) = map(int, input().split())
a = list(map(int, input().split()))
f = Counter(a)
if len(f) < k:
	print('NO')
else:
	print('YES')
	c = 0
	for i in f.keys():
		c += 1
		print(a.index(i) + 1, end=' ')
		if c == k:
			break


(n, k) = [int(s) for s in input().split(' ')]
a = [int(s) for s in input().split(' ')]
if len(set(a)) >= k:
	lst1 = []
	lst2 = []
	for i in range(n):
		if a[i] not in lst1:
			lst1.append(a[i])
			lst2.append(str(i + 1))
		if len(lst1) == k:
			break
	print('YES')
	print(' '.join(lst2))
else:
	print('NO')


import math, string, itertools, fractions, heapq, collections, re, array, bisect, sys, random, time, copy, functools
sys.setrecursionlimit(10 ** 7)
inf = 10 ** 20
eps = 1.0 / 10 ** 10
mod = 10 ** 9 + 7
dd = [(-1, 0), (0, 1), (1, 0), (0, -1)]
ddn = [(-1, 0), (-1, 1), (0, 1), (1, 1), (1, 0), (1, -1), (0, -1), (-1, -1)]

def LI():
	return [int(x) for x in sys.stdin.readline().split()]

def LI_():
	return [int(x) - 1 for x in sys.stdin.readline().split()]

def LF():
	return [float(x) for x in sys.stdin.readline().split()]

def LS():
	return sys.stdin.readline().split()

def I():
	return int(sys.stdin.readline())

def F():
	return float(sys.stdin.readline())

def S():
	return input()

def pf(s):
	return print(s, flush=True)

def main():
	(n, m) = LI()
	a = LI()
	r = []
	s = set()
	for i in range(n):
		c = a[i]
		if c in s:
			continue
		s.add(c)
		r.append(i + 1)
	if len(r) < m:
		return 'NO'
	return 'YES\n{}'.format(' '.join(map(str, r[:m])))
print(main())


(n, k) = map(int, input().split())
l = list(map(int, input().split()))
c = [0] * 105
ans = []
for i in range(n):
	if c[l[i]] == 0:
		ans.append(i + 1)
	c[l[i]] = 1
if len(ans) < k:
	print('NO')
else:
	print('YES')
	for i in range(k):
		print(ans[i], end=' ')


def I():
	return map(int, input().split())
(n, k) = I()
a = list(I())
if len(set(a)) < k:
	print('NO')
else:
	print('YES')
	for i in set(a):
		if k > 0:
			k -= 1
			print(a.index(i) + 1, end=' ')


data = [int(a) for a in input('').split()]
n = data[0]
k = data[1]
rating = [int(b) for b in input('').split()]
list1 = sorted(set(rating), key=rating.index)
if len(list1) >= k:
	print('YES')
	for i in range(0, k):
		print(rating.index(list1[i]) + 1, end=' ')
	print('')
else:
	print('NO')


(n, k) = map(int, input().split())
a = [int(x) for x in input().split()]
b = a[:]
c = []
count = 1
copy = True
while copy is True:
	for i in range(0, n):
		for j in range(0, n):
			try:
				if b[i] == b[j] and i != j:
					del b[j]
			except:
				break
	copy = False
	for i in range(0, n):
		for j in range(0, n):
			try:
				if b[i] == b[j] and i != j:
					copy = True
			except:
				copy = False
try:
	if b[0] == b[1]:
		print('NO')
		count = 2
except:
	pass
if count != 2:
	if len(b) < k:
		print('NO')
	else:
		print('YES')
		for i in range(0, k):
			c.append(a.index(b[i]) + 1)
		c.sort()
		for i in range(0, k):
			print(c[i], end=' ')


(n, k) = map(int, input().split())
A = list(map(int, input().split()))
B = [A[0]]
ans = [1]
flag = 0
for i in range(1, n):
	flag = 0
	for item in B:
		if A[i] == item:
			flag = 1
			break
	if flag == 0:
		B.append(A[i])
		ans.append(i + 1)
if len(ans) < k:
	print('NO')
else:
	print('YES')
	for i in range(k):
		print(ans[i], end=' ')


try:
	(n, k) = map(int, input().split())
	a = list(map(int, input().split()))
	b = []
	c = []
	b.append(a[0])
	c.append(1)
	for i in range(1, n):
		if a[i] not in b:
			b.append(a[i])
			c.append(i + 1)
	if len(b) >= k:
		print('YES')
		for i in range(k):
			print(c[i], end=' ')
	else:
		print('NO')
except:
	pass


[a, b] = map(int, input().split())
x = []
t = []
z = list(map(int, input().split()))
for i in range(a):
	if z[i] not in x:
		x.append(z[i])
		t.append(i + 1)
if len(x) >= b:
	print('YES')
	for i in range(b):
		print(t[i])
else:
	print('NO')


(n, m) = input().split(' ')
(n, m) = (int(n), int(m))
a = input().split()
se = set({})
ans = []
flag = True
for i in range(n):
	if a[i] not in se:
		ans.append(i + 1)
		se.add(a[i])
if len(ans) >= m:
	print('YES')
	for i in range(m):
		print(ans[i], end=' ')
else:
	print('NO')


(quantity, size) = map(int, input().split())
a = [int(s) for s in input().split()]
mas = []
if size == 1:
	print('YES')
	a = str(set(a))
	a = a.replace('{', '')
	a = a.replace('}', '')
	a = a.replace(', ', ' ')
	print(a)
	exit()
for i in range(1, len(a) + 1):
	pair = []
	pair.append(a[i - 1])
	pair.append(i)
	mas.append(pair)
mas = sorted(mas)
i = 0
while len(mas) - 1 > i:
	if mas[i][0] == mas[i + 1][0]:
		del mas[i]
		i -= 1
	i += 1
if len(mas) < size:
	print('NO')
else:
	mas = sorted(mas)
	print('YES')
	for i in range(size):
		print(str(mas[i][1]), end=' ')


(n, m) = [int(i) for i in input().split()]
a = [int(i) for i in input().split()]
b = []
p = []
ans = 0
for i in range(0, n):
	if a[i] not in b and ans < m:
		b.append(a[i])
		p.append(i + 1)
		ans += 1
if ans < m:
	print('NO')
else:
	print('YES')
	for i in range(0, len(p)):
		print(p[i], end=' ')


(a, b) = input().split()
f = 0
d = []
c = []
w = ''
s = input()
for it in s.split():
	if it not in d:
		d.append(it)
	c.append(it)
if len(d) >= int(b):
	for r in range(int(b)):
		w = w + str(c.index(d[r]) + 1) + ' '
if len(d) >= int(b):
	print('YES')
	print(w)
else:
	print('NO')


(x, y) = map(int, input().split())
lst = list(map(int, input().split()))
d = set(lst)
if len(d) >= y:
	i = 0
	c = []
	m = list(d)
	while i < y:
		c.append(lst.index(m[i]) + 1)
		i += 1
	print('YES')
	c.sort()
	print(*c, sep=' ')
else:
	print('NO')


import sys, os
from io import BytesIO, IOBase
import collections, itertools, bisect, heapq, math, string
from decimal import *
BUFSIZE = 8192
BUFSIZE = 8192

class FastIO(IOBase):
	newlines = 0

	def __init__(self, file):
		self._fd = file.fileno()
		self.buffer = BytesIO()
		self.writable = 'x' in file.mode or 'r' not in file.mode
		self.write = self.buffer.write if self.writable else None

	def read(self):
		while True:
			b = os.read(self._fd, max(os.fstat(self._fd).st_size, BUFSIZE))
			if not b:
				break
			ptr = self.buffer.tell()
			(self.buffer.seek(0, 2), self.buffer.write(b), self.buffer.seek(ptr))
		self.newlines = 0
		return self.buffer.read()

	def readline(self):
		while self.newlines == 0:
			b = os.read(self._fd, max(os.fstat(self._fd).st_size, BUFSIZE))
			self.newlines = b.count(b'\n') + (not b)
			ptr = self.buffer.tell()
			(self.buffer.seek(0, 2), self.buffer.write(b), self.buffer.seek(ptr))
		self.newlines -= 1
		return self.buffer.readline()

	def flush(self):
		if self.writable:
			os.write(self._fd, self.buffer.getvalue())
			(self.buffer.truncate(0), self.buffer.seek(0))

class IOWrapper(IOBase):

	def __init__(self, file):
		self.buffer = FastIO(file)
		self.flush = self.buffer.flush
		self.writable = self.buffer.writable
		self.write = lambda s: self.buffer.write(s.encode('ascii'))
		self.read = lambda : self.buffer.read().decode('ascii')
		self.readline = lambda : self.buffer.readline().decode('ascii')
(sys.stdin, sys.stdout) = (IOWrapper(sys.stdin), IOWrapper(sys.stdout))
input = lambda : sys.stdin.readline().rstrip('\r\n')

def main():
	(n, k) = map(int, input().split())
	a = list(map(int, input().split()))
	d = collections.Counter(a)
	s = set(d.keys())
	if len(s) < k:
		print('NO')
	else:
		ans = set()
		res = []
		for i in range(n):
			if a[i] not in ans:
				ans.add(a[i])
				res.append(i + 1)
			if len(ans) == k:
				break
		print('YES')
		print(' '.join([str(x) for x in res]))
main()


def check(i, a, c):
	for x in range(i + 1, len(c)):
		if c[x] == a:
			c[x] = -1
(n, k) = input().strip().split(' ')
(n, k) = [int(n), int(k)]
a = list(map(int, input().strip().split(' ')))
count = 0
for x in range(0, len(a)):
	if a[x] != -1:
		check(x, a[x], a)
for x in range(0, len(a)):
	if a[x] != -1:
		count += 1
if count >= k:
	print('YES')
	for x in range(0, len(a)):
		if k == 0:
			break
		if a[x] != -1:
			print(x + 1, end=' ')
			k -= 1
	print()
else:
	print('NO')


(g, f) = list(map(int, input().split()))
a = list(map(int, input().split()))
team = list(set(a))
if len(team) >= f:
	print('YES')
	for i in range(f):
		print(a.index(team[i]) + 1, end=' ')
else:
	print('NO')


import os
import io
import sys
from collections import Counter, defaultdict
import math
import random
import heapq as hq
from functools import reduce, cmp_to_key
from collections import deque
import threading
import bisect

def input():
	return sys.stdin.readline().strip()

def iinput():
	return int(input())

def tinput():
	return input().split()

def rinput():
	return map(int, tinput())

def rlinput():
	return list(rinput())
mod = int(1000000000.0) + 7

def factors(n):
	return set(reduce(list.__add__, ([i, n // i] for i in range(1, int(n ** 0.5) + 1) if n % i == 0)))
(n, k) = rinput()
a = rlinput()
temp = list(set(a))
if len(temp) >= k:
	print('YES')
	ans = []
	for i in temp[:k]:
		ans.append(a.index(i) + 1)
	print(*ans)
else:
	print('NO')


(n, k) = list(map(lambda e: int(e), input().split(' ')))
students = list(map(lambda e: int(e), input().split(' ')))
team = set()
team_indexes = []
for s in students:
	team.add(s)
if len(team) >= k:
	print('YES')
	team = list(team)
	for i in range(k):
		team_indexes.append(students.index(team[i]) + 1)
	team_indexes = list(map(lambda e: str(e), team_indexes))
	result = ' '
	print(result.join(team_indexes))
else:
	print('NO')


(n, k) = map(int, input().split())
ans = []
data = list(map(int, input().split()))
rate = set()
for i in range(n):
	el = data[i]
	if el in rate:
		continue
	else:
		rate.add(el)
		ans.append(i + 1)
if len(ans) < k:
	print('NO')
else:
	print('YES')
	for i in range(k):
		print(ans[i], end=' ')


(x, y) = map(int, input().split())
l = list(map(int, input().split()))
s = list(set(l))
if len(s) >= y:
	o = [l.index(s[i]) + 1 for i in range(y)]
	o.sort()
	print('YES')
	print(' '.join(map(str, o)))
else:
	print('NO')


(n, k) = map(int, input().split())
l = list(map(int, input().split()))
m = []
n = list(set(l))
if k > len(n):
	print('NO')
else:
	for i in range(k):
		m.append(l.index(n[i]) + 1)
	print('YES')
	print(*m)


from collections import Counter

def diverse_teams(nums, k):
	ctr = Counter(nums)
	if k <= len(ctr.keys()):
		print('YES')
		candidates = list(ctr.keys())[:k]
		for c in candidates:
			print(nums.index(c) + 1, end=' ')
	else:
		print('NO')
(n, k) = list(map(int, input().split()))
arr = list(map(int, input().split()))
diverse_teams(arr, k)


def diverseteam(a, b):
	s_b = set()
	l_pos = []
	for ind in range(len(b)):
		if b[ind] not in s_b:
			s_b.add(b[ind])
			l_pos.append(ind + 1)
	if len(s_b) >= a:
		print('YES')
		for res in range(a):
			print(l_pos[res], end=' ')
	else:
		print('NO')
nndk = [int(i) for i in input().split()]
ratings = [int(j) for j in input().split()]
diverseteam(nndk[1], ratings)


(n, k) = map(int, input().split())
a = list(map(int, input().split()))
t = []
v = []
for i in range(n):
	if not a[i] in v:
		t.append(i + 1)
		v.append(a[i])
if len(t) >= k:
	ch = ''
	for i in range(k):
		ch = ch + str(t[i]) + ' '
	print('YES')
	print(ch[:-1])
else:
	print('NO')


(a, b) = [int(i) for i in input().split()]
c = [int(i) for i in input().split()]
e = set(c)
l = []
d = len(set(c))
if d >= b:
	print('YES')
	for i in e:
		l.append(c.index(i) + 1)
		if len(l) == b:
			break
	print(*l)
elif d < b:
	print('NO')


(n, k) = map(int, input().split())
l = list(map(int, input().split()))
s = set(l)
if len(s) < k:
	print('NO')
else:
	print('YES')
	x = 0
	m = []
	for ele in s:
		print(l.index(ele) + 1, end=' ')
		x += 1
		if x == k:
			break


from collections import defaultdict

def main():
	(n, k) = map(int, input().split())
	res = []
	used = set()
	a = list(map(int, input().split()))
	for (i, val) in enumerate(a):
		if val not in used:
			used.add(val)
			res.append(i + 1)
	if len(res) >= k:
		print('YES')
		print(*res[:k])
	else:
		print('NO')
main()


try:
	(n, k) = map(int, input().split())
	s = [int(i) for i in input().split()]
	st = list(set(s))
	if len(st) < k:
		print('NO')
	else:
		r = []
		for i in range(k):
			r.append(s.index(st[i]))
		r.sort(reverse=False)
		print('YES')
		for i in r:
			print(i + 1, end=' ')
except:
	print('Nooooooo')


(n, k) = map(int, input().split())
S = [int(x) for x in input().split()]
A = set(S)
if len(A) >= k:
	print('YES')
	Ans = []
	for a in A:
		Ans.append(S.index(a) + 1)
	Ans = Ans[:k]
	print(*Ans)
else:
	print('NO')


(n, k) = map(int, input().split())
a = list(map(int, input().split()))
selected = []
index_selected = []
cnt = 0
for i in range(n):
	if a[i] not in selected:
		selected.append(a[i])
		index_selected.append(i)
		cnt += 1
if cnt >= k:
	print('YES')
	for i in range(k):
		print(index_selected[i] + 1, end=' ')
else:
	print('NO')


(n, k) = list(map(int, input().split()))
students = list(map(int, input().split()))
command = list(set(students))
lisofs = []
if len(command) < k:
	print('NO')
else:
	print('YES')
	for i in range(k):
		lisofs.append(students.index(command[i]) + 1)
lisofs.sort()
print(*lisofs, sep=' ')


(n, k) = map(int, input().split())
l = map(int, input().split())
s = set()
r = []
for (i, m) in enumerate(l):
	if m not in s:
		s.add(m)
		r.append(i + 1)
if len(r) < k:
	print('NO')
else:
	print('YES')
	print(' '.join(map(str, r[:k])))


(n, k) = (int(i) for i in input().split())
r = [int(i) for i in input().split()]
pos = []
t = []
for i in range(n):
	if not r[i] in t:
		t.append(r[i])
		pos.append(i + 1)
		if len(t) == k:
			break
if len(t) == k:
	print('YES')
	for i in pos:
		print(i, end=' ')
else:
	print('NO')


l = input().split()
n = int(l[0])
k = int(l[1])
l = input().split()
li = [int(i) for i in l]
hashi = dict()
for i in range(n):
	hashi[li[i]] = i + 1
if len(hashi) >= k:
	print('YES')
	count = 0
	for i in hashi:
		print(hashi[i], end=' ')
		count += 1
		if count == k:
			break
	print()
else:
	print('NO')


(n, k) = [int(s) for s in input().split()]
used = [0] * 101
array = [int(s) for s in input().split()]
ans = []
counter = 0
for i in range(len(array)):
	if not used[array[i]] and counter < k:
		ans.append(i + 1)
		used[array[i]] = 1
		counter += 1
if len(ans) == k:
	print('YES')
	print(' '.join([str(s) for s in ans]))
else:
	print('NO')


class CodeforcesTask988ASolution:

	def __init__(self):
		self.result = ''
		self.n_k = []
		self.ratings = []

	def read_input(self):
		self.n_k = [int(x) for x in input().split(' ')]
		self.ratings = [int(x) for x in input().split(' ')]

	def process_task(self):
		unique_ratings = list(set(self.ratings))
		if len(unique_ratings) >= self.n_k[1]:
			self.result = 'YES\n{0}'.format(' '.join([str(self.ratings.index(x) + 1) for x in unique_ratings[:self.n_k[1]]]))
		else:
			self.result = 'NO'

	def get_result(self):
		return self.result
Solution = CodeforcesTask988ASolution()
Solution.read_input()
Solution.process_task()
print(Solution.get_result())


(a, b) = map(int, input().split())
ar = list(map(int, input().split()))
if len(set(ar)) >= b:
	print('YES')
	print(' '.join((str(ar.index(i) + 1) for i in list(set(ar))[:b])))
else:
	print('NO')


(n, k) = list(map(int, input().split()))
a = list(map(int, input().split()))
if len(set(a)) < k:
	print('NO')
else:
	print('YES')
	o = []
	b = 0
	for i in set(a):
		if b < k:
			o.append(str(a.index(i) + 1))
			b += 1
	print(' '.join(o))


(n, k) = input().split()
result = ''
rate = input().split()
rateSort = list(set(rate))
if int(n) < int(k):
	print('NO')
elif len(rateSort) < int(k):
	print('NO')
else:
	for i in range(int(k)):
		extra = str(rate.index(rateSort[i]) + 1) + ' '
		result += extra
	print('YES')
	print(result)


line1 = list(map(int, input().strip().split()))
line2 = list(map(int, input().strip().split()))
n = line1[0]
k = line1[1]
distinct = []
distinct_position = []
for (i, rating) in enumerate(line2):
	if distinct.count(rating) == 0:
		distinct.append(rating)
		distinct_position.append(i + 1)
		if len(distinct) == k:
			break
if len(distinct) < k:
	print('NO')
else:
	print('YES')
	for position in distinct_position:
		print(position, end=' ')


s = input()
s = s.split()
n = int(s[0])
k = int(s[1])
s = input()
s = s.split()
a = {}
for i in range(n):
	kd = int(s[i])
	if kd not in a:
		a[kd] = i + 1
if len(a) < k:
	print('NO')
else:
	print('YES')
	i = 0
	for key in a.keys():
		if i == k:
			break
		print(a[key], end=' ')
		i += 1


def main():
	(n, k) = map(int, input().split())
	l = [0] * 101
	for (i, x) in enumerate(map(int, input().split()), 1):
		l[x] = i
	l = list(filter(None, l))
	if len(l) < k:
		print('NO')
	else:
		print('YES')
		print(*l[:k])
main()


(n, m) = map(int, input().split())
arr = list(map(int, input().split()))
d = []
ans = []
tmpm = m
while m > 0:
	for (i, v) in enumerate(arr):
		if not v in d:
			ans.append(i)
			d.append(v)
			break
	m -= 1
m = tmpm
if len(d) == m:
	print('YES')
	for i in ans:
		print(i + 1, end=' ')
else:
	print('NO')


(n, k) = [int(i) for i in input().split()]
a = [int(i) for i in input().split()]
ans_i = []
ans = set()
i = 0
while k > 0 and i <= n - 1:
	if a[i] not in ans:
		ans.add(a[i])
		ans_i.append(i)
		k -= 1
	i += 1
if k > 0:
	print('NO')
else:
	print('YES')
	for i in ans_i:
		print(i + 1, end=' ')


(n, k) = map(int, input().split())
A = {int(x): i for (i, x) in enumerate([int(q) for q in input().split()], 1)}
if len(A) < k:
	print('NO')
else:
	print('YES')
	print(' '.join(map(str, list(A.values())[:k])))


(n, k) = map(int, input().split())
mas = list(map(int, input().split()))
num = []
for i in range(100):
	num.append(0)
i = 0
ans = []
count = 0
while i < n:
	if num[mas[i] - 1] == 0:
		num[mas[i] - 1] = 1
		ans.append(i + 1)
		i += 1
		count += 1
	else:
		i += 1
	if count == k:
		print('YES')
		print(*ans)
		exit()
print('NO')


[n, k] = [int(x) for x in input().split()]
L = [int(x) for x in input().split()]
I = set()
if len(set(L)) >= k:
	print('YES')
	for i in L:
		I = I.union({L.index(i) + 1})
	for i in range(k):
		print(list(I)[i], end=' ')
else:
	print('NO')


(n, k) = map(int, input().split())
ls = list(map(int, input().split()))
resLs = []
ansLs = []
for i in range(n):
	if ls[i] not in resLs:
		resLs += [ls[i]]
		ansLs += [i + 1]
	if len(resLs) >= k:
		print('YES')
		print(*ansLs)
		break
else:
	print('NO')


(n, k) = map(int, input().split())
listo = list(map(int, input().split()))
(p, c) = ([], [])
for item in listo:
	if item not in c and len(p) != k:
		c.append(item)
		p.append(listo.index(item) + 1)
if len(p) != k:
	print('NO')
else:
	print('YES')
	print(*p)


(n, k) = map(int, input().split())
l = list(map(int, input().split()))
li = []
c = 0
s = set(l)
le = len(s)
if k > le:
	print('NO')
else:
	print('YES')
	for i in range(1, len(l) + 1):
		if l[i - 1] not in li:
			li.append(l[i - 1])
			print(i, end=' ')
			c = c + 1
		if c == k:
			break


read = lambda : map(int, input().split())

def filterPoint(element):
	return element > -1
(n, k) = read()
a = list(read())
index = [-1] * 101
for (cnt, i) in enumerate(a):
	index[i] = cnt
if len(index) - index.count(-1) < k:
	print('NO')
else:
	print('YES')
	filteredIndexIterator = filter(filterPoint, index)
	filteredIndex = []
	for i in filteredIndexIterator:
		filteredIndex.append(i + 1)
	print(' '.join(map(str, filteredIndex[:k])))


(n, k) = map(int, input().split())
students = input().split()
c = set()
ind = []
for i in range(0, len(students)):
	if students[i] not in c:
		c.add(students[i])
		ind.append(i + 1)
if len(ind) < k:
	print('NO')
else:
	print('YES')
	print(' '.join([str(i) for i in ind[0:k]]))


def diverse_team():
	students = input().split()
	grades = input().split()
	students = [int(i) for i in students]
	dic = {}
	temp = 0
	output = ''
	for i in range(len(grades)):
		if grades[i] not in dic:
			dic[grades[i]] = i + 1
			temp += 1
		if temp == students[1]:
			print('YES')
			for i in dic:
				if len(output) == 0:
					output = output + str(dic[i])
				else:
					output = output + ' ' + str(dic[i])
			print(output)
			return
	print('NO')
	return
diverse_team()


(n, k) = map(int, input().split())
scores = list(map(int, input().split()))
teams = []
indices = []
for (index, i) in enumerate(scores, 0):
	if i not in teams:
		teams.append(i)
		indices.append(index + 1)
if len(indices) < k:
	print('NO')
else:
	print('YES')
	for i in range(0, k):
		print(indices[i])


(N, K) = input().split()
(N, K) = (int(N), int(K))
A = [int(x) for x in input().split()]
seen = set()
ids = []
ok = False
for (i, a) in enumerate(A):
	if a in seen:
		continue
	ids.append(i + 1)
	seen.add(a)
	if len(ids) == K:
		ok = True
		break
if ok:
	print('YES')
	print(*ids)
else:
	print('NO')


(n, k) = map(int, input().split())
l = [int(i) for i in input().split()]
s = set()
o = []
i = 0
while i < len(l):
	if l[i] not in s:
		s.add(l[i])
		o.append(i + 1)
	if len(s) == k:
		break
	i += 1
if len(s) == k:
	print('YES')
	print(*o)
else:
	print('NO')


(n, k) = [int(x) for x in input().split()]
a = [int(x) for x in input().split()]
answer = []
b = set(a)
if len(b) < k:
	print('NO')
else:
	print('YES')
	for i in range(len(a)):
		if a[i] in b:
			answer.append(i + 1)
			b.remove(a[i])
		if len(answer) == k:
			break
	print(*answer)


(n, k) = map(int, input().split())
arr = [int(x) for x in input().split()]
if len(set(arr)) < k:
	print('NO')
else:
	print('YES')
	s = set()
	for (i, e) in enumerate(arr):
		if k and e not in s:
			print(i + 1, end=' ')
			k -= 1
			s.add(e)


a = list(input().split(' '))
(n, k) = (int(a[0]), int(a[1]))
a = input().split(' ')
a = list((int(x) for x in a))
(res, ind) = (set(), [])
for i in range(len(a)):
	if a[i] not in res:
		res.add(a[i])
		ind.append(i)
	if len(res) == k:
		break
if len(res) < k:
	print('NO')
else:
	print('YES')
	for item in ind:
		print(item + 1, sep=' ', end=' ')


(n, m) = (int(i) for i in input().split())
ls = [int(i) for i in input().split()]
val = []
res = []
count = 0
for i in range(0, len(ls)):
	if ls[i] not in res:
		res.append(ls[i])
		val.append(i + 1)
		count += 1
		if count == m:
			break
if count == m:
	print('YES')
	print(*val, end=' ')
else:
	print('NO')


(n, k) = [int(x) for x in input().split()]
r = input().split()
if len(set(r)) < k:
	print('NO')
else:
	print('YES')
	ans = []
	for i in set(r):
		ans.append(str(r.index(i) + 1))
		if len(ans) >= k:
			break
	print(' '.join(ans))


(n, k) = map(int, input().split())
A = list(map(int, input().split()))
raz = []
balls = set()
for z in range(n):
	if A[z] not in balls:
		balls.add(A[z])
		raz.append(str(z + 1))
if len(raz) < k:
	print('NO')
else:
	print('YES')
	print(' '.join(raz[:k]))


x = list(map(int, input().split()))
y = list(map(int, input().split()))
k = x[0]
p = 0
for i in range(x[0] - 1, -1, -1):
	if y.count(y[i]) > 1:
		y[i] = 0
		k -= 1
if k >= x[1]:
	print('YES')
	for i in range(x[0]):
		if y[i] != 0:
			print(i + 1, end=' ')
			p += 1
		if p == x[1]:
			break
else:
	print('NO')


(n, k) = map(int, input().split())
a = list(map(int, input().split()))
(rec1, rec2) = ([], [])
num = 0
for i in range(n):
	if num == k:
		break
	if a[i] not in rec1:
		rec1.append(a[i])
		rec2.append(i + 1)
		num += 1
if num >= k:
	print('YES')
	print(' '.join(map(str, rec2)))
else:
	print('NO')


def Ans():
	N = input().split()
	A = input().split()
	ans = []
	b = []
	for i in range(int(N[0])):
		if A[i] not in ans:
			ans += [A[i]]
			b += [i]
		if len(ans) == int(N[1]):
			print('YES')
			for j in range(len(b)):
				if b != len(b) - 1:
					print(int(b[j]) + 1, end=' ')
				else:
					print(int(b[j]) + 1)
			break
	else:
		print('NO')
Ans()


(n, m) = map(int, input().split())
l = list(map(int, input().split()))
l1 = set(l)
l1 = list(l1)
if len(l1) >= m:
	print('YES')
	for i in range(m):
		for j in range(n):
			if l[j] == l1[i]:
				print(j + 1, end=' ')
				break
else:
	print('NO')


(n, k) = map(int, input().split())
a = list(map(int, input().split()))
b = set(a)
print('YNEOS'[len(b) < k::2])
count = 0
if len(b) >= k:
	for i in b:
		print(a.index(i) + 1, end=' ')
		count += 1
		if count == k:
			break


(n, k) = map(int, input().split())
a = list(map(int, input().split()))
if len(set(a)) < k:
	print('NO')
else:
	print('YES')
	cnt = 0
	i = 0
	d = [0] * 101
	while cnt != k:
		if d[a[i]] == 0:
			print(i + 1, end=' ')
			cnt += 1
		d[a[i]] += 1
		i += 1


(n, l) = map(int, input().split())
a = list(map(int, input().split()))
c = set()
for i in range(n):
	c.add(a[i])
c = list(c)
if len(c) < l:
	print('NO')
else:
	print('YES')
	for i in range(l):
		print(a.index(c[i]) + 1, end=' ')


(n, k) = map(int, input().split())
(*arr,) = map(int, input().split())
s = set()
ans = []
for (i, a) in enumerate(arr):
	if a not in s:
		ans.append(i + 1)
		s.add(a)
		if len(ans) == k:
			break
if len(ans) == k:
	print('YES')
	print(' '.join(map(str, ans)))
else:
	print('NO')


def main():
	(k, n) = map(int, input().split())
	arr = list(map(int, input().split()))
	dict = {}
	for (i, v) in enumerate(arr):
		dict[v] = i + 1
	if len(dict.keys()) < n:
		print('NO')
	else:
		print('YES')
		print(*list(dict.values())[0:n])
main()


(n, m) = [int(x) for x in input().split()]
a = [int(x) for x in input().split()]
s = set(a)
l = len(s)
if l < m:
	print('NO')
else:
	print('YES')
	k = []
	c = 0
	for i in range(n):
		if a[i] not in k:
			k.append(a[i])
			print(i + 1, end=' ')
			c += 1
			if c == m:
				break
	print()


(n, k) = map(int, input().split())
a = list(map(int, input().split()))
ls = [0 for i in range(101)]
for i in range(n):
	ls[a[i]] = i + 1
new_ls = []
for i in range(101):
	if ls[i] != 0:
		new_ls.append(ls[i])
if len(new_ls) >= k:
	print('YES')
	for i in range(k):
		print(new_ls[i], end=' ')
else:
	print('NO')


(n, m) = input().split()
line = input()
a = dict()
k = 1
for i in line.split():
	a[i] = k
	k += 1
if len(a.values()) < int(m):
	print('NO')
else:
	print('YES')
	b = [a.values()]
	m = int(m)
	for i in a.values():
		print(i, end=' ')
		m -= 1
		if m == 0:
			break


import sys
import math
import bisect

def main():
	(n, k) = map(int, input().split())
	A = list(map(int, input().split()))
	d = dict()
	for i in range(n):
		if A[i] not in d:
			d[A[i]] = i
	if len(d) < k:
		print('NO')
	else:
		print('YES')
		B = list(d.values())
		print(' '.join(list((str(a + 1) for a in B[:k]))))
main()


yoar = list(map(int, input().split()))
n = yoar[0]
k = yoar[1]
arr = list(map(int, input().split()))
ans = []
yoar = []
for i in range(n):
	if arr[i] not in yoar:
		yoar.append(arr[i])
		ans.append(i)
if len(ans) < k:
	print('NO')
else:
	print('YES')
	for i in range(k):
		print(ans[i] + 1, end=' ')
	print()


fir = input()
first = fir.split(' ')
sec = input()
first = fir.split(' ')
second = sec.split(' ')
index = 0
people = list()
num = list()
while index < len(second):
	if second[index] in people:
		index += 1
	else:
		people.append(second[index])
		num.append(index + 1)
		index += 1
if len(people) < int(first[1]):
	print('NO')
else:
	index = 0
	yes = ''
	while index < int(first[1]):
		yes += str(num[index]) + ' '
		index += 1
	print('YES')
	print(yes)


(n, k) = map(int, input().split())
a = [int(i) for i in input().split()]
b = set(a)
ans = []
if len(b) < k:
	print('NO')
else:
	print('YES')
	i = 0
	for (i, it) in zip(range(k), b):
		ans.append(a.index(it) + 1)
	print(*sorted(ans))


def inline():
	return [int(e) for e in input().split()]

def outline(l):
	for e in l:
		print(e, end=' ')
f = inline()
n = f[0]
k = f[1]
pupils = inline()
s = set(pupils)
if len(s) >= k:
	print('YES')
	found = set()
	output = list()
	for i in range(0, n):
		if len(found) >= k:
			break
		if pupils[i] not in found:
			output.append(i + 1)
			found.add(pupils[i])
	outline(output)
else:
	print('NO')


p = input()
p = p.split()
n = int(p[0])
k = int(p[1])
q = input()
q = q.split()
ratings = []
chinky = []
for x in range(0, n):
	a = int(q[x])
	ratings = ratings + [a]
	chinky = chinky + [a]
ratings.sort()
i = 1
for x in range(n - 1):
	if ratings[x] != ratings[x + 1]:
		i = i + 1
if i >= k:
	print('YES')
else:
	print('NO')
b = []
c = []
d = [1, 15, 16, 13]
if i >= k:
	for x in range(n):
		for y in range(x + 1, n):
			if chinky[x] == chinky[y]:
				b = b + [y]
			if x in b:
				break
			if x not in c:
				c = c + [x]
	if n - 1 not in b:
		c = c + [x]
if i >= k:
	for x in range(k):
		print(c[x] + 1, end=' ')


(n, k) = map(int, input().split())
l1 = input().split()
l2 = set(l1)
if len(l2) < k:
	print('NO')
else:
	l3 = list(l2)
	print('YES')
	for i in l3[:k]:
		print(l1.index(i) + 1, end=' ')


(n, k) = map(int, input().split(' '))
l = list(map(int, input().split(' ')))
rates = []
ids = []
for i in range(0, len(l)):
	if l[i] not in rates:
		rates.append(l[i])
		ids.append(i + 1)
	if len(ids) == k:
		break
if len(ids) == k:
	print('YES')
	print(*ids)
else:
	print('NO')


entrada = input().split(' ')
arr = input().split(' ')
n = int(entrada[0])
k = int(entrada[1])
set_arr = set(arr)
if len(set_arr) < k:
	print('NO')
else:
	result = []
	print('YES')
	for i in set_arr:
		result.append(arr.index(i) + 1)
	result = sorted(result)
	for i in range(k):
		print(result[i], end=' ')


(n, k) = map(int, input().split())
a = list(map(int, input().split()))
d = {}
arr = []
count = 0
for i in range(n):
	if a[i] in d or count >= k:
		continue
	d[a[i]] = 1
	arr.append(i + 1)
	count += 1
if count < k:
	print('NO')
else:
	print('YES')
	print(*arr)


(n, k) = map(int, input().split())
ar = list(map(int, input().split()))
maps = {}
for i in range(len(ar)):
	a = ar[i]
	if a not in maps:
		maps[a] = i + 1
	if len(maps) == k:
		break
if len(maps) == k:
	print('YES')
	for m in maps:
		print(maps[m], end=' ')
else:
	print('NO')


(n, k) = map(int, input().split())
A = list(map(int, input().split()))
B = list(set(A))[:k]
if len(B) == k:
	print('YES')
	print(*[A.index(a) + 1 for a in B])
else:
	print('NO')


(n, k) = list(map(int, input().strip().split()))
a = list(map(int, input().strip().split()))
d = list(set(a))
res = []
if len(d) < k:
	print('NO')
else:
	print('YES')
	for i in range(n):
		if a[i] in d:
			if len(res) < k:
				res.append(str(i + 1))
				d.remove(a[i])
	print(' '.join(res))


(n, k) = map(int, input().split())
if n < k:
	print('NO')
ratings = [int(r) for r in input().split()]
distinct = list(set(ratings))
if len(distinct) < k:
	print('NO')
else:
	print('YES')
	indexes = []
	for r in distinct[:k]:
		indexes.append(ratings.index(r) + 1)
	print(' '.join([str(r) for r in indexes]))


nk = input().split()
k = int(nk[1])
students = input().split()
unique = []
unique_index = []
flag = False
for i in range(int(nk[0])):
	if not students[i] in unique:
		unique.append(students[i])
		unique_index.append(str(i + 1))
	if len(unique_index) >= k:
		flag = True
		break
if flag:
	print('YES')
	print(' '.join(unique_index))
else:
	print('NO')


(n, k) = list(map(int, input().split()))
data = list(map(int, input().split()))
ans = set()
idxs = [[0] for i in range(k)]
idx = 0
for i in range(n):
	x = data[i]
	if x not in ans and idx < k:
		idxs[idx] = i
		idx += 1
		ans.add(x)
if idx == k:
	print('YES')
	for x in idxs:
		print(x + 1, end=' ')
	print()
else:
	print('NO')


(n, m) = map(int, input().strip().split())
q = list(map(int, input().strip().split()))
if len(set(q)) >= m:
	print('YES')
	q1 = list(set(q))
	c = 0
	for i in q1:
		if c < m:
			print(q.index(i) + 1, end=' ')
			c += 1
else:
	print('NO')


(n, k) = [int(x) for x in input().split()]
s = [int(x) for x in input().split()]
q = []
a = []
for i in range(n):
	if s[i] not in q:
		q.append(s[i])
		a.append(i + 1)
		if len(a) == k:
			print('YES')
			print(*a)
			exit()
print('NO')


(n, k) = map(int, input().split())
m = list(map(int, input().split()))
h = set(m)
if len(h) < k:
	print('NO')
else:
	be = []
	ans = []
	for i in range(n):
		if not m[i] in be and k != 0:
			ans.append(i + 1)
			be.append(m[i])
			k -= 1
	print('YES')
	print(' '.join(map(str, ans)))


(n, k) = [int(x) for x in input().split()]
arr = list(map(int, input().split()))
a = set(arr)
if len(a) < k:
	print('NO')
else:
	print('YES')
	var = 0
	for i in range(n):
		if arr[i] in a and var < k:
			print(i + 1, end=' ')
			var += 1
			a.remove(arr[i])
	print()


from collections import defaultdict

def compute(n, k, arr):
	dic = defaultdict(lambda : 0)
	temp = []
	for i in range(n):
		if dic[arr[i]] == 0:
			temp.append(i + 1)
		dic[arr[i]] = 1
	if len(dic) >= k:
		print('YES')
		for i in range(k):
			print(temp[i], end=' ')
	else:
		print('NO')
(n, k) = map(int, input().split())
arr = list(map(int, input().split()))
compute(n, k, arr)


(n, k) = list(map(int, input().split()))
li = list(map(int, input().split()))
x = sorted(set(li))[-k:]
if k <= len(x):
	print('YES')
	for i in x:
		print(li.index(i) + 1, end=' ')
else:
	print('NO')


(a, b) = map(int, input().split())
ar = [int(s) for s in input().split()]
arr = []
kek = []
s = 0
for i in range(len(ar)):
	if arr.count(ar[i]) == 0:
		arr.append(ar[i])
		s += 1
		kek.append(i + 1)
if len(arr) >= b:
	print('YES')
	print(*kek[:b])
else:
	print('NO')


(n, k) = input().split()
(n, k) = [int(n), int(k)]
rating = input().split()
rating = [int(x) for x in rating]
selected = list()
index = list()
p = 0
for i in range(0, n):
	if rating[i] not in selected and p < k:
		selected.append(rating[i])
		index.append(i)
		p = p + 1
if p is k:
	print('YES')
	for i in range(0, k):
		print(index[i] + 1, end=' ')
else:
	print('NO', end='')


inp = input()
out = ''
inp1 = [int(x) for x in inp.split(' ')]
n = inp1[0]
k = inp1[1]
inp = input()
inp2list = [int(x) for x in inp.split(' ')]
inp2 = {int(x) for x in inp.split(' ')}
if len(inp2) >= k:
	print('YES')
	for x in list(inp2)[:k]:
		out += str(inp2list.index(x) + 1) + ' '
	print(out[:-1])
else:
	print('NO')


from sys import stdin
(n, k) = map(int, stdin.readline().split())
ary = list(map(int, stdin.readline().split()))
aryset = set(ary)
answer = []
if len(aryset) >= k:
	print('YES')
	for i in range(k):
		x = aryset.pop()
		answer.append(str(ary.index(x) + 1))
	print('%s' % ' '.join(answer))
else:
	print('NO')


(a, b) = map(int, input().split())
c = dict(zip(map(int, input().split()), range(1, a + 1)))
print(*(['NO'] if len(c) < b else ['YES\n', *list(c.values())[:b]]))


[n, k] = list(map(int, input().split()))
B = list(map(int, input().split()))
l = len(B)
sol = []
k2 = 0
poids = []
i = 0
while i < l and k2 < k:
	if B[i] not in poids:
		sol.append(str(i + 1))
		poids.append(B[i])
		k2 += 1
	i += 1
if k2 == k:
	print('YES')
	string = ' '.join(sol)
	print(string)
else:
	print('NO')


(n, k) = map(int, input().split())
l = list(map(int, input().split()))
list1 = []
if k > len(set(l)):
	print('NO')
else:
	a = set(l)
	while len(a) > k:
		a.pop()
	for i in range(len(l)):
		if l[i] in a:
			list1.append(i + 1)
			a.remove(l[i])
	print('YES')
for i in list1:
	print(i, end=' ')


tudo1 = input().split()
tudo2 = input().split()
a = int(tudo1[0])
b = int(tudo1[1])
opa = False
for i in range(0, len(tudo2)):
	l = [tudo2[i]]
	k = [i + 1]
	for j in range(0, len(tudo2)):
		if tudo2[j] not in l and j != i:
			l.append(tudo2[j])
			k.append(j + 1)
		if len(l) == b:
			print('YES')
			opa = True
			print(k[0], end='')
			for r in range(1, len(k)):
				print(' {}'.format(k[r]), end='')
			print('')
			break
	if opa:
		break
if opa == False:
	print('NO')


x = list(map(int, input().split()))
y = list(map(int, input().split()))
w = []
for i in range(x[0]):
	if y[i] not in w:
		w.append(y[i])
if len(w) >= x[1]:
	print('YES')
	for i in range(x[1]):
		for j in range(x[0]):
			if w[i] == y[j]:
				print(str(j + 1) + ' ', end='')
				break
	print('')
else:
	print('NO')


(n, m) = list(map(int, input().strip().split()))
l = list(map(int, input().strip().split()))
t = []
p = []
for i in l:
	if i in p:
		pass
	else:
		p += [i]
		t += [l.index(i) + 1]
if len(t) >= m:
	print('YES')
	for i in range(m):
		print(t[i], end=' ')
	print()
else:
	print('NO')


(a, b) = map(int, input().split())
d = []
s = [int(i) for i in input().split()]
e = set(s)
for i in e:
	d.append(s.index(i) + 1)
if len(d) >= b:
	print('YES')
	print(*d[:b])
else:
	print('NO')


(n, k) = [int(x) for x in input().strip().split(' ')]
a = [int(x) for x in input().strip().split(' ')]
visited = set([])
r = []
for (i, x) in enumerate(a):
	if x in visited:
		continue
	r.append(i + 1)
	visited.add(x)
	if len(r) == k:
		break
if len(r) == k:
	print('YES')
	print(' '.join([str(x) for x in r]))
else:
	print('NO')


(n, k) = map(int, input().split())
a = [int(x) for x in input().split()]
ss = list(set(a))
if len(ss) < k:
	print('NO')
else:
	print('YES')
	for i in range(k):
		print(a.index(ss[i]) + 1)


def sea(n, a):
	t = 0
	while n[t] != a:
		t += 1
	return t
n = list(map(int, input().split(' ')))
m = n[1]
n = n[0]
x = list(map(int, input().split(' ')))
s = x + []
s.sort()
t = []
b = [s[0]]
last = s[0]
for i in range(1, n):
	if s[i] == last:
		b += [s[i]]
	else:
		last = s[i]
		t += [b]
		b = [s[i]]
t += [b]
if len(t) >= m:
	print('YES')
	for i in range(m):
		z = t[i][0]
		print(sea(x, z) + 1, end=' ')
else:
	print('NO')


(a, b) = map(int, input().split())
s = input()
n = [int(s) for s in s.split()]
r = []
l = []
for i in range(a):
	if n[i] not in r:
		r.append(n[i])
		l.append(i + 1)
if len(l) == b:
	print('YES')
	print(' '.join([str(i) for i in l]))
elif len(l) > b:
	while len(l) > b:
		l.pop()
	print('YES')
	print(' '.join([str(i) for i in l]))
else:
	print('NO')


(n, k) = map(int, input().split())
l = [int(i) for i in input().split()]
d = {}
j = 1
for i in l:
	d[i] = j
	j += 1
if len(d) >= k:
	print('YES')
	print(*list(d.values())[0:k])
else:
	print('NO')


(n, k) = map(int, input().split())
l = list(map(int, input().split()))
c = 0
d = []
w = []
for i in range(n):
	if l[i] not in d:
		d.append(l[i])
		w.append(i + 1)
		c = c + 1
	if c == k:
		print('YES')
		print(*w)
		break
else:
	print('NO')


from collections import Counter
(n, k) = list(map(int, input().split()))
a = list(map(int, input().split()))
b = dict(Counter(a))
if len(b) < k:
	print('NO')
else:
	c = []
	for i in range(n):
		if a[i] in b:
			c.append(i + 1)
			del b[a[i]]
	c = c[:k]
	print('YES')
	print(*c)


(n, k) = map(int, input().split())
list1 = [int(x) for x in input().split()]
list2 = []
indexList = []
for i in range(len(list1)):
	if list1[i] not in list2:
		list2.append(list1[i])
		indexList.append(i + 1)
if len(indexList) < k:
	print('NO')
else:
	print('YES')
	for i in range(k):
		print(indexList[i], end=' ')
	print()


import sys
i1 = input().split(' ')
rating = input().split(' ')
n = int(i1[0])
k = int(i1[1])
s = set()
a = []
c = 0
s1 = ''
gotit = 0
for i in range(len(rating)):
	rate = int(rating[i])
	if rate not in s:
		s.add(rate)
		a.append(str(i + 1))
		c = c + 1
		if k == c:
			print('YES')
			print(' '.join(a))
			gotit = 1
if gotit == 0:
	print('NO')


from __future__ import print_function
import sys
import math
import os.path

def log(*args, **kwargs):
	print(*args, file=sys.stderr, **kwargs)

def ni():
	return map(int, input().split())

def nio(offset):
	return map(lambda x: int(x) + offset, input().split())

def nia():
	return list(map(int, input().split()))

def toString(aList, sep=' '):
	return sep.join((str(x) for x in aList))

def toMapInvertIndex(aList):
	return {k: v for (v, k) in enumerate(aList)}
(n, k) = ni()
a = nia()
m = toMapInvertIndex(a)
s = list(set(a))
if len(s) < k:
	print('NO')
else:
	print('YES')
	print(toString([m[x] + 1 for x in s[:k]]))


(n, k) = map(int, input().split())
m = list(map(int, input().split()))
ans = set(m)
if len(set(ans)) < k:
	print('NO')
else:
	print('YES')
	for i in ans:
		if k == 0:
			break
		k -= 1
		print(m.index(i) + 1, end=' ')


def solve(n, k, a):
	b = set()
	ans = []
	for i in range(n):
		if a[i] not in b:
			b.add(a[i])
			ans.append(i + 1)
		if len(ans) == k:
			return ans
	return []
(n, k) = map(int, input().split())
a = list(map(int, input().split()))
res = solve(n, k, a)
if res == []:
	print('NO')
else:
	print('YES')
	print(' '.join([str(i) for i in res]))


def f(n, k, candidates):
	output = []
	members = []
	numberOfMembers = 0
	for i in range(n):
		if candidates[i] not in members:
			output.append(i + 1)
			members.append(candidates[i])
			numberOfMembers += 1
			if numberOfMembers == k:
				return output
	return False
(n, k) = map(int, input().split())
candidates = [int(x) for x in input().split()]
x = f(n, k, candidates)
if x == False:
	print('NO')
else:
	print('YES')
	print(' '.join(map(str, x)))


(n, k) = map(int, input().split(' '))
arr = list(map(int, input().split(' ')))
team = []
for i in range(n):
	t = 1
	for j in team:
		if arr[i] == arr[j - 1]:
			t = 0
			break
	if t == 1:
		team.append(i + 1)
	if len(team) == k:
		print('YES')
		for l in team:
			print(l, end=' ')
		break
if len(team) < k:
	print('NO')


(n, k) = map(int, input().split())
ratings = list(map(int, input().split()))
c = set()
l = []
for i in range(n):
	if ratings[i] not in c:
		c.add(ratings[i])
		l.append(i + 1)
if len(l) >= k:
	print('YES')
	out = ''
	out += str(l[0])
	for i in range(1, k):
		out += ' ' + str(l[i])
	print(out)
else:
	print('NO')


(n, k) = map(int, input().split())
x = list(map(int, input().split()))
c = 0
if len(set(x)) < k:
	print('NO')
else:
	print('YES')
	for element in set(x):
		print(x.index(element) + 1, end=' ')
		c += 1
		if c == k:
			break


(n, k) = map(int, input().split())
A = list(map(int, input().split()))
used = set()
ans = []
for (i, a) in enumerate(A):
	if a not in used:
		ans.append(i + 1)
		used.add(a)
if len(ans) >= k:
	print('YES')
	print(*ans[0:k])
else:
	print('NO')


(n, k) = map(int, input().split())
ns = list(map(int, input().split()))
fs = set(ns)
if len(fs) < k:
	print('NO')
else:
	fs = list(fs)
	print('YES')
	for x in range(k):
		print(ns.index(fs[x]) + 1, end=' ')


def diverse_team():
	(n, k) = map(int, input().split())
	stu = input().split()
	reslt = []
	memo = []
	for i in range(len(stu)):
		if stu[i] not in reslt:
			memo.append(str(i + 1))
			reslt.append(stu[i])
	if len(reslt) < k:
		print('NO')
		return
	else:
		print('YES')
		print(' '.join(memo[:k]))
		return
diverse_team()


str_input1 = input()
str_input2 = input()
input_arr1 = str_input1.split()
kol_vkomande = int(input_arr1[1])
num_shkolnik = str_input2.split()
act_num = 1
counter = 0
vkomande = []
num_in_kom = []
for i in num_shkolnik:
	if i not in vkomande and counter < kol_vkomande:
		vkomande.append(i)
		num_in_kom.append(act_num)
		counter += 1
	act_num += 1
if len(num_in_kom) == 0 or counter < kol_vkomande:
	print('NO')
else:
	print('YES')
	for k in num_in_kom:
		print(k, end=' ')


(m, n) = map(int, input().split())
a = list(map(int, input().split()))
b = list(set(a))
if len(b) < n:
	print('NO')
else:
	print('YES')
	c = b[0:n]
	e = []
	for i in c:
		d = a.index(i) + 1
		e.append(d)
	e = [str(u) for u in e]
	print(' '.join(e))


(n, k) = [int(x) for x in input().split()]
s = [int(x) for x in input().split()]
seen = set()
count = 0
nums = []
for i in range(n):
	if s[i] not in seen:
		nums.append(i + 1)
		seen.add(s[i])
		count += 1
if count >= k:
	print('YES')
	for i in range(k):
		print(nums[i], end=' ')
else:
	print('NO')


s = input().split()
(n, m) = (int(s[0]), int(s[1]))
cl = list(map(int, input().split()))
norm = []
block = []
for x in range(n):
	if cl[x] not in block:
		block.append(cl[x])
		norm.append(x + 1)
k = len(norm)
if m > k:
	print('NO')
else:
	print('YES')
	print(*norm[:m])


x = input()
x = x.split(' ')
a = int(x[0])
b = int(x[1])
t = []
list1 = [1]
count = 1
y = input()
y = y.split(' ')
t.append(y[0])
i = 0
while i < a and count < b:
	if y[i] not in t:
		count += 1
		t.append(y[i])
		list1.append(i + 1)
		i += 1
	else:
		i += 1
	if count == b:
		break
if count >= b:
	print('YES')
	for i in range(len(list1)):
		print(list1[i])
else:
	print('NO')


(n, x) = map(int, input().split())
ind = 1
a = []
b = []
for i in input().split():
	if i not in a:
		a += [i]
		b += [ind]
	ind += 1
if len(a) >= x:
	print('YES')
	print(*b[:x])
else:
	print('NO')


(a, b) = map(int, input().split())
l = list(map(int, input().split()))
k = []
m = []
for i in range(a):
	if l[i] in k:
		pass
	else:
		k.append(l[i])
		m.append(i)
if len(m) >= b:
	print('YES')
	for p in range(b):
		print(m[p] + 1, end=' ')
else:
	print('NO')


(students, team) = map(int, input().split())
k = list(map(int, input().split()))
setk = sorted(set(k))
lenk = len(setk)
indices = []
if lenk < team:
	print('NO')
else:
	print('YES')
	scores = setk[0:team]
	for score in scores:
		indices.append(k.index(score) + 1)
	print(' '.join(sorted(map(str, indices))))


(n, k) = list(map(int, input().split()))
werte = list(map(int, input().split()))
no_doubles = []
indeces = []
for i in range(n):
	if werte[i] in no_doubles:
		continue
	no_doubles.append(werte[i])
	indeces.append(i + 1)
if len(no_doubles) >= k:
	print('YES')
	print(*indeces[0:k])
else:
	print('NO')


(n, k) = [int(x) for x in input().split()]
l = [int(x) for x in input().split()]
f = []
ii = []
for (i, v) in enumerate(l):
	if v not in f:
		f.append(v)
		ii.append(str(i + 1))
if len(ii) >= k:
	print('YES')
	print(' '.join(ii[:k]))
else:
	print('NO')


lissta = list(map(int, input().split()))
resp = ''
s = list(map(int, input().split()))
l1 = list()
l2 = list()
for i in range(len(s)):
	if s[i] not in l1:
		l1.append(s[i])
		l2.append(i)
if len(l1) >= lissta[1]:
	print('YES')
	for i in range(lissta[1]):
		resp += str(l2[i] + 1) + ' '
	print(resp)
else:
	print('NO')


(n, k) = map(int, input().split())
a = list(map(int, input().split()))
l = len(a)
i = 0
s = set()
res = []
while len(s) < k and i < l:
	if a[i] not in s:
		res.append(i + 1)
		s.add(a[i])
	i += 1
if len(s) == k:
	print('YES')
	print(*res)
else:
	print('NO')


inp = input()
data = {'tokens': None, 'i': 0}
data['tokens'] = inp.split()

def get_token():
	if data['i'] == len(data['tokens']):
		data['tokens'] = input().split()
		data['i'] = 0
	token = data['tokens'][data['i']]
	data['i'] += 1
	return token

def get_int():
	return int(get_token())
n = get_int()
k = get_int()
rank = []
team = []
for i in range(n):
	rank.append(get_int())
for i in range(n):
	if rank[i] in team:
		continue
	else:
		team.append(rank[i])
		if len(team) == k:
			break
if len(team) == k:
	print('YES')
	for x in team:
		y = rank.index(x) + 1
		print(y, end=' ')
else:
	print('NO')


import sys

def suggest_team(n, k, ratings):
	different_scores = {}
	team_members = []
	for i in range(n):
		if len(team_members) == k:
			return ('YES', team_members)
		if different_scores.get(ratings[i], True):
			different_scores[ratings[i]] = False
			team_members.append(i + 1)
	if len(team_members) == k:
		return (True, team_members)
	else:
		return (False, [])
(n, k) = map(int, sys.stdin.readline().split())
ratings = list(map(int, sys.stdin.readline().split()))
(out, team) = suggest_team(n, k, ratings)
if out:
	print('YES')
	print(*team)
else:
	print('NO')


(n, k) = [int(x) for x in input().split()]
a = [int(x) for x in input().split()]
arr = set(a)
if len(arr) < k:
	print('NO')
else:
	i = 0
	print('YES')
	for x in arr:
		print(a.index(x) + 1, end=' ')
		i += 1
		if i == k:
			break


(n, k) = list(map(int, input().split(' ')))
numbers = list(map(int, input().split(' ')))
a = set()
for i in numbers:
	a.add(i)
if len(a) >= k:
	print('YES')
	ans = []
	count = 0
	for j in a:
		if count < k:
			print(numbers.index(j) + 1, end=' ')
		else:
			break
		count += 1
else:
	print('NO')


(n, k) = map(int, input().split())
d = [int(el) for el in input().split()]
b = set()
a = []
for i in range(n):
	if not d[i] in b:
		b.add(d[i])
		a.append([d[i], i])
if len(b) < k:
	print('NO')
else:
	print('YES')
	for i in range(k):
		print(a[i][1] + 1, end=' ')


(n, k) = map(int, input().split())
students = list(map(int, input().split()))
count = 0
indices = []
flag = 1
nova = []
for i in students:
	if i not in nova:
		count += 1
		indices.append(flag)
		nova.append(i)
		if count == k:
			break
	flag += 1
if count >= k:
	print('YES')
	for i in indices:
		print(i, end=' ')
else:
	print('NO')


(n, k) = map(int, input().split())
A = [*zip(map(int, input().split()), range(1, n + 1))]
A.sort(key=lambda x: x[0])
team = []
for i in range(len(A)):
	if not team or team[-1][0] != A[i][0]:
		team.append(A[i])
	if len(team) == k:
		break
if len(team) < k:
	print('NO')
else:
	print('YES')
	print(' '.join([str(x[1]) for x in team]))


(n, k) = map(int, input().split())
l = list(map(int, input().split()))
d = {}
for i in l:
	if i in d:
		d[i] += 1
	else:
		d[i] = 1
if len(d) < k:
	print('NO')
else:
	print('YES')
	d1 = {}
	c = 0
	for i in range(n):
		if c < k and l[i] not in d1:
			c += 1
			print(i + 1, end=' ')
			d1[l[i]] = 1


(n, k) = (int(i) for i in input().split())
nums = {int(k): i + 1 for (i, k) in enumerate(input().split())}
if k > len(nums):
	print('NO')
else:
	print('YES')
	for (_, i) in zip(range(k), nums.values()):
		print(i, end=' ')


def sol():
	(n, k) = map(int, input().split())
	A = [int(item) for item in input().split()]
	mySet = []
	indexSet = []
	for i in range(n):
		if A[i] not in mySet:
			mySet.append(A[i])
			indexSet.append(i)
	if len(mySet) < k:
		print('NO')
	else:
		print('YES')
		for i in range(k - 1):
			print(indexSet[i] + 1, end=' ')
		print(indexSet[k - 1] + 1)
sol()


from collections import Counter
(x, y) = map(int, input().split())
l = list(map(int, input().split()))
c = Counter(l)
if len(c) >= y:
	a = []
	print('YES')
	m = 0
	for i in c.keys():
		if m > y - 1:
			break
		a.append(l.index(i) + 1)
		m = m + 1
	print(*a)
else:
	print('NO')


(n, k) = map(int, input().split())
a = [0] * 101
l = list(map(int, input().split()))
if len(set(l)) < k:
	print('NO')
else:
	vi = set()
	i = 0
	ans = []
	while k:
		if l[i] not in vi:
			vi.add(l[i])
			ans.append(i + 1)
			k -= 1
		i += 1
	print('YES')
	print(*ans)


num_tam = input()
time = input()
lista_num_tam = num_tam.split(' ')
tam = int(lista_num_tam[1])
lista_time = time.split(' ')
lista_unica = []
for i in lista_time:
	if i not in lista_unica:
		lista_unica.append(i)
resultados = []
if len(lista_unica) >= tam:
	print('YES')
	for i in lista_unica:
		resultados.append(lista_time.index(i) + 1)
	print(*resultados[:tam])
else:
	print('NO')


(n, k) = map(int, input().split())
a = [int(x) for x in input().split()]
ans = 0
secList = []
for i in range(1, 101):
	if a.count(i) > 0:
		ans += 1
		secList.append(i)
if ans >= k:
	print('YES')
	ansStr = ''
	for i in secList[:k]:
		ansStr += str(a.index(i) + 1) + ' '
	print(ansStr)
else:
	print('NO')


(n_students, len_team) = [int(i) for i in input().split()]
students = [int(i) for i in input().split()]
diverse_team = {}
possible = False
for i in range(len(students)):
	if students[i] not in diverse_team:
		diverse_team[students[i]] = i
	if len(diverse_team) == len_team:
		possible = True
		break
if possible:
	print('YES')
	for i in diverse_team.values():
		print(i + 1, end=' ')
else:
	print('NO')


(n, k) = list(map(int, input().split(' ')))
a = list(map(int, input().split(' ')))
answer = []
unique = []
i = 0
for v in a:
	if v not in unique:
		unique.append(v)
		answer.append(i + 1)
	i += 1
if len(unique) >= k:
	print('YES')
	print(*answer[0:k])
else:
	print('NO')


nk = list(map(int, input().split()))
a = list(map(int, input().split()))
g = []
i = 0
while len(g) < nk[1] and i < len(a):
	if a[i] not in g:
		g.append(a[i])
	i = i + 1
if len(g) == nk[1]:
	print('YES')
	s = ''
	for j in g:
		s = s + str(a.index(j) + 1) + ' '
	print(s[:-1])
else:
	print('NO')


(n, k) = map(int, input().split())
arr = list(map(int, input().split()))
arrmap = {}
for i in range(n):
	arrmap[arr[i]] = i
c = 0
if len(arrmap) >= k:
	print('YES')
	for i in arrmap.values():
		c += 1
		if c <= k:
			print(i + 1, end=' ')
else:
	print('NO')


(n, k) = (int(i) for i in input().split())
a = list(map(int, input().split()))
s = ''
fuck = []
team = []
for i in range(n):
	if a[i] not in team and len(team) != k:
		team.append(a[i])
		fuck.append(i + 1)
if len(team) != k:
	print('NO')
else:
	print('YES')
	for i in range(len(fuck)):
		print(fuck[i], end='\t')


(n, k) = map(int, input().split())
a = list(map(int, input().split()))
sa = set(a)
if len(sa) >= k:
	print('YES')
	ans = []
	seen = [False] * (max(a) + 1)
	for i in range(n):
		if seen[a[i]]:
			continue
		else:
			ans.append(i + 1)
			seen[a[i]] = True
		if len(ans) == k:
			break
	print(*ans)
else:
	print('NO')


memberNow = 0
sameRank = False
teamMember = []
(studentNum, teamCons) = map(int, input().split())
allRanks = [int(x) for x in input().split()]
for i in range(studentNum):
	if i == 0:
		teamMember.append(i + 1)
		memberNow = memberNow + 1
	else:
		if memberNow == teamCons:
			break
		for j in range(i):
			if allRanks[i] == allRanks[j]:
				sameRank = True
				break
		if sameRank == False:
			teamMember.append(i + 1)
			memberNow = memberNow + 1
		else:
			sameRank = False
if memberNow >= teamCons:
	print('YES')
	print(' '.join((str(student) for student in teamMember)))
else:
	print('NO')


(a, b) = map(int, input().split())
l = list(map(int, input().split()))
l1 = []
l2 = []
for i in range(a):
	if l[i] not in l1:
		l1.append(l[i])
		l2.append(i + 1)
if len(l2) < b:
	print('NO')
else:
	print('YES')
	for i in range(b):
		print(l2[i], end=' ')


from bisect import bisect_left, bisect_right
(n, k) = map(int, input().split())
a = list(map(int, input().split()))
ans = []
b = []
yes = False
for i in range(n):
	if a[i] not in b:
		ans.append(i + 1)
		b.append(a[i])
	if len(b) == k:
		yes = True
		break
if yes:
	print('YES')
	print(*ans)
else:
	print('NO')


def read_numbers():
	return (int(s) for s in input().strip().split(' '))

def main():
	(_, k) = read_numbers()
	arr = list(read_numbers())
	scholars = set(arr)
	if len(scholars) < k:
		print('NO')
		return
	print('YES')
	res = []
	for skill in scholars:
		res.append(arr.index(skill) + 1)
	res = res[0:k]
	print(' '.join((str(num) for num in res)))
main()


(n, k) = list(map(int, input().split()))
a = list(map(int, input().split()))
dic = {}
for (i, j) in enumerate(a):
	if str(j) not in dic:
		dic[str(j)] = i + 1
if len(dic) >= k:
	print('YES')
	t = k
	for (x, y) in dic.items():
		print(y, end=' ')
		t -= 1
		if t == 0:
			break
else:
	print('NO')


(n, p) = [int(e) for e in input().split(' ')]
L = [int(e) for e in input().split(' ')]
s = {L[k]: k + 1 for k in range(n)}
if len(s) < p:
	print('NO')
else:
	print('YES')
	for e in s:
		print(s[e], end=' ')
		p -= 1
		if p == 0:
			break
	print()


(n, k) = [int(i) for i in input().split()]
l = [int(i) for i in input().split()]
for i in range(0, len(l) - 1):
	for j in range(i + 1, len(l)):
		if l[j] != 0 and l[i] == l[j]:
			l[j] = 0
count = 0
for i in range(len(l)):
	if l[i] != 0:
		count += 1
if count >= k:
	temp = 0
	print('YES')
	for i in range(0, len(l)):
		if l[i] != 0:
			print(i + 1, end=' ')
			temp += 1
		if temp == k:
			break
else:
	print('NO')


(n, k) = [int(x) for x in input().split()]
li = [int(x) for x in input().split()]
check = []
ans = ''
if len(set(li)) < k:
	print('NO')
	exit()
else:
	count = 0
	for i in li:
		if i not in check and count < k:
			ans += str(li.index(i) + 1) + ' '
			check.append(i)
			count += 1
print('YES')
ans = ans[:-1]
print(ans)


import io
import os
input = io.BytesIO(os.read(0, os.fstat(0).st_size)).readline

def solve():
	(n, k) = map(int, input().split())
	a = list(map(int, input().split()))
	s = {}
	for (i, x) in enumerate(a, start=1):
		s[x] = i
	if len(s) < k:
		print('NO')
	else:
		print('YES')
		print(*list(s.values())[:k])
solve()


(N, K) = map(int, input().split())
A = list(map(int, input().split()))
B = []
C = []
for i in range(0, N):
	if B.count(A[i]) == 0:
		B.append(A[i])
		C.append(i + 1)
if len(C) >= K:
	print('YES')
	print(*C[:K])
else:
	print('NO')


def main():
	(students, team_size) = map(int, input().split())
	student_scores = [int(i) for i in input().split()]
	team = set(student_scores)
	if len(team) < team_size:
		print('NO')
	else:
		print('YES')
		actual_size = 0
		for student in team:
			actual_size += 1
			print(str(student_scores.index(student) + 1) + ' ', end='')
			if actual_size == team_size:
				break
main()


(n, m) = map(int, input().split())
a = list(map(int, input().split()))
d = {}
for i in range(n):
	d[str(a[i])] = i + 1
b = list(d.values())
if len(d) >= m:
	print('YES\n' + ' '.join(map(str, b[:m])))
else:
	print('NO')


(m, n) = map(int, input().split())
stu = list(map(int, input().split()))
t = list(set(stu))
final = []
flag = 1
count = 0
for i in range(len(stu)):
	if stu[i] in t and stu.index(stu[i]) + 1 not in final:
		final.append(stu.index(stu[i]) + 1)
		count += 1
	if count == n:
		flag = 0
		break
if flag == 0:
	print('YES')
	for i in final:
		print(i, end=' ')
else:
	print('NO')


(n, k) = [int(x) for x in input().split()]
a = [int(x) for x in input().split()]
b = []
idx = []
for i in range(len(a)):
	if a[i] not in b:
		b += [a[i]]
		idx += [i + 1]
if k <= len(b):
	print('YES')
	for i in range(len(idx)):
		print(idx[i], end=' ')
		if i == k - 1:
			break
else:
	print('NO')


(n, k) = [int(w) for w in input().split()]
x = [int(w) for w in input().split()]
if len(set(x)) >= k:
	print('YES')
	m = []
	s = ' '
	for i in set(x):
		m.append(str(x.index(i) + 1))
		if len(m) == k:
			break
	print(s.join(m))
else:
	print('NO')


d = input().split()
m = int(d[0])
n = int(d[1])
a = input().split()
k = len(a)
lst = []
i = 0
if k == m:
	for x in a:
		if x not in lst:
			lst.append(x)
r = len(lst)
if r >= n:
	print('YES')
	for i in range(n):
		v = a.index(lst[i])
		print(v + 1, end=' ')
else:
	print('NO')


(n, k) = map(int, input().split(' '))
l = list(map(int, input().split(' ')))
s = ['1']
sx = [l[0]]
c = 1
if len(set(l)) < k:
	print('NO')
else:
	for i in range(1, n):
		if c == k:
			break
		if l[i] not in sx:
			s.append(str(i + 1))
			sx.append(l[i])
			c += 1
	if c == k:
		print('YES')
		print(' '.join(s))
	else:
		print('NO')


(n, k) = list(map(int, input().split()))
a = list(map(int, input().split()))
team = []
used = [False for _ in range(101)]
for i in range(n):
	if not used[a[i]]:
		team.append(i + 1)
	used[a[i]] = True
if len(team) < k:
	print('NO')
else:
	print('YES')
	print(' '.join([str(x) for x in team[:k]]))


(n, k) = input().split(' ')
k = int(k)
x = list(map(int, input().split(' ')))
t = []
H = []
for i in x:
	if i not in t:
		t.append(i)
for each in t:
	H += [x.index(each) + 1]
if len(t) >= k:
	print('YES')
	for f in range(0, k):
		print(H[f], end=' ')
else:
	print('NO')


(n, k) = map(int, input().split())
arr = list(map(int, input().split()))
ans = []
ans_ind = []
for i in range(len(arr)):
	if arr[i] not in ans:
		ans.append(arr[i])
		ans_ind.append(i + 1)
	if len(ans) >= k:
		print('YES')
		for i in ans_ind:
			print(i, end=' ')
		print()
		exit()
print('NO')


(n, k) = map(int, input().split())
a = list(map(int, input().split()))
b = set(a)
d = []
f = []
c = []
if len(b) < k:
	print('NO')
else:
	print('YES')
	for i in range(n):
		c.append([a[i], i + 1])
	c = sorted(c)[::-1]
	for i in c:
		if i[0] in d:
			continue
		elif len(d) < k:
			d.append(i[0])
			f.append(i[1])
	for i in f:
		print(i, end=' ')


import sys
(n, k) = map(int, input().split())
input_list = list(map(int, input().split()))
y = []
z = []
i = 0
for x in input_list:
	if x not in y:
		y.append(x)
		z.append(i + 1)
	i += 1
if len(z) >= k:
	print('YES')
	for i in range(k):
		print(z[i], end=' ')
else:
	print('NO')


(n, k) = list(map(int, input().split()))
a = list(map(int, input().split()))
a1 = list(set(a))
if len(a1) < k:
	print('NO')
else:
	L = []
	for i in range(k):
		L.insert(0, a.index(a1[i]) + 1)
	print('YES')
	print(*L)


[n, k] = list(map(int, input().split()))
arr = list(map(int, input().split()))
b = set(arr)
if len(b) < k:
	print('NO')
else:
	print('YES')
	ind = [-1] * 102
	ans = []
	for i in range(n):
		ind[arr[i]] = i + 1
	cnt = 0
	for j in b:
		cnt += 1
		if cnt > k:
			break
		ans.append(ind[j])
	print(*ans)


(a, k) = list(map(int, input().split()))
t = list(map(int, input().split()))
h = list(set(t))
h.sort()
if len(h) >= k:
	print('YES')
	p = []
	for j in range(k):
		p.append(t.index(h[j]) + 1)
	p.sort()
	print(*p)
else:
	print('NO')


(k, n) = map(int, input().split())
b = list(map(int, input().split()))
l = []
u = []
for i in range(len(b)):
	if b[i] not in u:
		u.append(b[i])
		l.append(i + 1)
if len(l) >= n:
	print('YES')
	for i in range(n):
		print(l[i], end=' ')
else:
	print('NO')


def main():
	(n, k) = list(map(int, input().split(' ')))
	check = list(map(int, input().split(' ')))
	indexes = []
	unique = []
	for i in range(n):
		if check[i] not in unique:
			unique.append(check[i])
			indexes.append(i + 1)
		if len(indexes) == k:
			print('YES')
			print(*indexes)
			return
	print('NO')
main()


(n, k) = list(map(int, input().strip().split(' ')))
nums = list(map(int, input().strip().split(' ')))
num_flag = {}
indexs = []
for (i, num) in enumerate(nums):
	if num in num_flag.keys():
		continue
	else:
		indexs.append(str(i + 1))
		num_flag[num] = 1
if len(num_flag.keys()) >= k:
	print('YES')
	print(' '.join(indexs[:k]))
else:
	print('NO')


A = [int(i) for i in input().split()]
n = A[0]
k = A[1]
B = [int(i) for i in input().split()]
S = set()
C = []
for i in range(len(B)):
	if B[i] not in S:
		S.add(B[i])
		C.append(i)
if len(C) >= k:
	print('YES')
	for i in range(k):
		print(C[i] + 1, end=' ')
else:
	print('NO')


__file__ = __file__.startswith('/home/a_farazei')

def input_():
	global __file__
	if not __file__:
		return input()
	if not hasattr(__file__, 'readline'):
		__file__ = open('input.txt', 'r')
	return __file__.readline()
(n, k) = map(int, input_().split())
arr = list(map(int, input_().split()))
if len(set(arr)) < k:
	print('NO')
else:
	print('YES')
	s = set()
	for (i, x) in enumerate(arr):
		if x not in s:
			print(str(i + 1) + ' ', end='')
			s.add(x)
		if len(s) >= k:
			break
	print()


import math
from collections import Counter
t = 1
for _ in range(t):
	(n, k) = map(int, input().split())
	ali = list(map(int, input().split()))
	c = Counter()
	for i in range(n):
		c[ali[i]] = i + 1
	ali = list(set(ali))
	ali.sort()
	if len(ali) >= k:
		print('YES')
		for i in range(k):
			q = c[ali[i]]
			print(q, end=' ')
		print()
	else:
		print('NO')


import sys
import math
mod = 1000000007

def nospace(l):
	ans = ''.join((str(i) for i in l))
	return ans
for tt in range(1):
	(n, k) = map(int, sys.stdin.readline().split(' '))
	a = list(map(int, sys.stdin.readline().split(' ')))
	s = set(a)
	if len(s) < k:
		print('NO')
	else:
		ans = []
		c = 0
		for aa in s:
			ans.append(a.index(aa) + 1)
			c += 1
			if c == k:
				break
		print('YES')
		print(*ans)


(n, k) = map(int, input().split())
arr = [int(x) for x in input().split()]
soln = []
brr = arr
s = set(arr)
for i in range(0, len(arr)):
	lol = arr[i]
	for lol in s:
		soln.append(brr.index(lol) + 1)
		s.remove(lol)
		break
soln.sort()
if len(soln) < k:
	print('NO')
else:
	while len(soln) > k:
		soln.pop(-1)
	print('YES')
	print(*soln)


from sys import stdin, stdout
from collections import defaultdict
for _ in range(1):
	(n, k) = list(map(int, stdin.readline().split()))
	a = list(map(int, stdin.readline().split()))
	g = defaultdict(list)
	for i in range(n):
		g[a[i]] += [i]
	if len(g) < k:
		print('NO')
	else:
		print('YES')
		ans = []
		ks = list(g.keys())
		for val in ks[:k]:
			ans += [g[val][0] + 1]
		print(*ans)


import re
import math
import decimal
import bisect

def read():
	return input().strip()

def iread():
	return int(input().strip())

def viread():
	return [int(x) for x in input().strip().split()]
(n, k) = viread()
stus = set()
ratings = viread()
lst = []
for i in range(n):
	idx = i + 1
	rate = ratings[i]
	if rate not in stus:
		lst.append(idx)
		stus.add(rate)
if len(lst) >= k:
	print('YES')
	print(*lst[:k])
else:
	print('NO')


(n, m) = map(int, input().split())
arr = [int(x) for x in input().split()]
counter = {}
for i in arr:
	if i not in counter and len(counter) < m:
		counter[i] = arr.index(i) + 1
if len(counter) < m:
	print('NO')
else:
	print('YES')
	for i in counter:
		print(counter[i], end=' ')


from sys import stdin
(n, k) = map(int, stdin.readline().rstrip().split(' '))
nums = list(map(int, stdin.readline().rstrip().split(' ')))
c = [0] * 101
idxs = {}
for (i, num) in enumerate(nums):
	c[num] += 1
	idxs[num] = i + 1
ans = []
for i in range(1, 101):
	if c[i] > 0:
		ans.append(idxs[i])
	if len(ans) == k:
		break
if len(ans) == k:
	print('YES')
	for num in ans:
		print('{} '.format(num), end='')
else:
	print('NO')


(a, b) = map(int, input().split())
x = [int(i) for i in input().split()]
y = set(x)
A = []
Y = list(y)
if len(y) >= b:
	print('YES')
	for i in range(b):
		A.append(x.index(Y[i]))
	A.sort()
	for i in range(len(A)):
		print(A[i] + 1, end=' ')
else:
	print('NO')


(n, k) = map(int, input().split())
r = list(input().split())
s = [1]
X = {r[0]}
if k == 1:
	print('YES')
	print(1)
	exit(0)
for i in range(1, n):
	if r[i] not in X:
		s.append(i + 1)
		X.add(r[i])
		if len(s) == k:
			print('YES')
			for st in s:
				print(st, end=' ')
			exit(0)
print('NO')


(n, k) = map(int, input().split())
arr = list(map(int, input().split()))
s = set(arr)
count = 0
if len(s) >= k:
	print('YES')
	for i in s:
		print(arr.index(i) + 1, end=' ')
		count += 1
		if count == k:
			exit(0)
else:
	print('NO')


(n, k) = map(int, input().split())
u = list(map(int, input().split()))
s = set()
d = set()
ans = 'NO'
p = 0
for i in range(n):
	if not u[i] in s:
		s.add(u[i])
		d.add(i + 1)
		p += 1
	if p == k:
		ans = 'YES'
		break
print(ans)
if p == k:
	d = list(d)
	for i in d:
		print(i, end=' ')


(n, k) = [int(i) for i in input().split()]
a = [int(i) for i in input().split()]
f = [True] * 101
ans = []
for i in range(len(a)):
	if f[a[i]]:
		ans.append(i + 1)
		f[a[i]] = False
	if len(ans) == k:
		print('YES')
		for j in ans:
			print(j, end=' ')
		print()
		quit()
print('NO')


(n, k) = map(int, input().split())
a = input().split()
no_doubles = []
indices = []
for i in range(n):
	if a[i] not in no_doubles:
		no_doubles += [a[i]]
		indices += [i + 1]
		if len(no_doubles) == k:
			print('YES')
			print(*indices)
			quit()
print('NO')


(nalunos, tamanhogrupo) = list(map(int, input().split()))
elementos = list(map(int, input().split()))
elementosdiferentes = list(set(elementos))
if len(elementosdiferentes) < tamanhogrupo:
	print('NO')
else:
	membros = []
	for i in range(0, tamanhogrupo):
		membros.append(elementos.index(elementosdiferentes[i]) + 1)
	print('YES')
	print(*membros)


(n, k) = [int(x) for x in input().split(' ')]
inputs = [int(x) for x in input().split(' ')]
k_set = set(inputs)
if len(k_set) >= k:
	print('YES')
	for (x, y) in zip(range(k), k_set):
		print(inputs.index(y) + 1, end='')
		print(' ', end='')
else:
	print('NO')


(n, k) = list(map(int, input().split()))
l = list(map(int, input().split()))
se = set(l)
l.insert(0, 0)
if len(se) < k:
	print('NO')
else:
	fin = list(se)
	print('YES')
	s = ''
	for i in fin[:k]:
		s += str(l.index(i)) + ' '
	print(s)


(n, k) = map(int, input().split())
arr = list(map(int, input().split()))
x = set()
res = []
for i in range(n):
	if not arr[i] in x:
		x.add(arr[i])
		res.append(str(i + 1))
x = list(x)
if len(x) < k:
	print('NO')
else:
	print('YES')
	print(' '.join(res[:k]))


(n, k) = map(int, input().split())
a = list(map(int, input().split()))
c = []
if len(set(a)) < k:
	print('NO')
else:
	print('YES')
	i = 0
	while i != len(a) and len(c) != k:
		if a[i] not in c:
			c.append(a[i])
		i += 1
	print(' '.join(list(map(lambda x: str(a.index(x) + 1), c))))


import math
from collections import *
import sys
from functools import reduce

def get_ints():
	return map(int, input().strip().split())

def get_list():
	return list(get_ints())

def get_string():
	return list(input().strip().split())

def printxsp(*args):
	return print(*args, end='')

def printsp(*args):
	return print(*args, end=' ')
DIRECTIONS = [[0, 1], [0, -1], [1, 0], [1, -1]]
NEIGHBOURS = [(i, j) for i in range(-1, 2) for j in range(-1, 2) if i != 0 or j != 0]
OrdUnicode_a = ord('a')
OrdUnicode_A = ord('A')
CAPS_ALPHABETS = {chr(i + OrdUnicode_A): i for i in range(26)}
SMOL_ALPHABETS = {chr(i + OrdUnicode_a): i for i in range(26)}
UGLYMOD = int(1000000000.0) + 7
SEXYMOD = 998244353
MAXN = int(100000.0) + 1
(n, k) = get_ints()
li = get_list()
position = {li[i]: i + 1 for i in range(n)}
li = set(li)
if len(li) < k:
	print('NO')
else:
	print('YES')
	print(*(position[i] for i in list(li)[:k]))


import collections

def solve(A, N, K):
	visited = collections.defaultdict(bool)
	if len(set(A)) < K:
		print('NO')
		return
	else:
		res = []
		for i in range(N):
			if visited[A[i]] == False:
				visited[A[i]] = True
				res.append(i + 1)
			if len(res) == K:
				print('YES')
				print(*res)
				return
(n, k) = map(int, input().split())
A = list(map(int, input().split()))
solve(A, n, k)


def main():
	(n, k) = list(map(int, input().split()))
	a = set()
	b = list()
	i = 0
	for elem in list(map(int, input().split())):
		if elem not in a:
			a.add(elem)
			b.append(i + 1)
		i += 1
	if len(b) < k:
		print('NO')
	else:
		print('YES')
		for i in range(k):
			print(b[i], end=' ')
main()


(n, k) = map(int, input().split())
rates = list(map(int, input().split()))
d_rates = set(rates)
numbers = [0] * len(d_rates)
i = 0
for r in d_rates:
	p = rates.index(r)
	numbers[i] = p + 1
	i += 1
if len(numbers) < k:
	print('NO')
else:
	print('YES')
	print(' '.join(map(str, numbers[:k])))


(n, k) = map(int, input().split())
students = list(map(int, input().split()))
ratings = [False for i in range(101)]
group = []
for i in range(0, n):
	if not ratings[students[i]]:
		ratings[students[i]] = True
		group.append(i + 1)
	if len(group) == k:
		print('YES')
		for j in range(0, k):
			print(group[j], end=' ')
		break
if len(group) < k:
	print('NO')


import time
(n, k) = (int(i) for i in input().split())
a = [0 for i in range(100)]
ranges = [int(i) for i in input().split()]
for i in range(n):
	a[ranges[i] - 1] = i + 1
s = 0
for i in a:
	if i != 0:
		s += 1
if s < k:
	print('NO')
else:
	print('YES')
	s = 0
	for i in range(100):
		if a[i] != 0:
			print(a[i], end=' ')
			s += 1
		if s == k:
			break


(n, k) = map(int, input().split())
a = list(map(int, input().split()))
nonEqual = []
nonEqualIndexes = []
for i in range(n):
	if a[i] not in nonEqual:
		nonEqual.append(a[i])
		nonEqualIndexes.append(i + 1)
if len(nonEqualIndexes) >= k:
	print('YES')
	for i in nonEqualIndexes[:k]:
		print(i, end=' ')
else:
	print('NO')


(n, k) = [int(x) for x in input().split()]
L = [int(x) for x in input().split()]
D = {}
for i in range(0, n):
	if not L[i] in D:
		D[L[i]] = i + 1
if len(D) >= k:
	print('YES')
	count = 0
	for i in D.values():
		if count <= k - 1:
			print(i, end=' ')
			count += 1
else:
	print('NO')


def teams(arr, k):
	ans = set()
	for i in arr:
		ans.add(i)
	if len(ans) < k:
		print('NO')
		return
	fin = []
	for i in ans:
		fin.append(arr.index(i) + 1)
		if len(fin) == k:
			print('YES')
			break
	for i in fin:
		print(i, '', end='')
	print()
(n, k) = list(map(int, input().rstrip().split()))
arr = list(map(int, input().rstrip().split()))
teams(arr, k)


(n, k) = [int(i) for i in input().split()]
a = [int(i) for i in input().split()]
res = []
for i in range(n):
	if a[i] not in res:
		res.append(a[i])
c = 0
if len(res) < k:
	print('NO')
elif len(res) >= k:
	print('YES')
	for i in range(len(res)):
		if res[i] in a and c != k:
			print(a.index(res[i]) + 1, end=' ')
			c += 1
		if c == k:
			break


(n, k) = map(int, input().split())
x = list(map(int, input().split()))
l = []
ans = []
flag = 0
for i in range(n):
	if not x[i] in l:
		l.append(x[i])
		ans.append(i + 1)
	if len(l) == k:
		flag = 1
		break
if flag == 0:
	print('NO')
else:
	s = ''
	for k in range(len(ans)):
		if k != len(ans) - 1:
			s = s + str(ans[k]) + ' '
		else:
			s = s + str(ans[k])
	print('YES')
	print(s)


(n, k) = map(int, input().split())
l = list(map(int, input().split()))
m = l.copy()
m.sort()
count = 0
li = []
for i in range(n - 1):
	if m[i] != m[i + 1]:
		count += 1
		li.append(m[i])
	if len(li) >= k:
		break
if len(li) < k:
	li.append(m[-1])
	count += 1
if count >= k:
	print('YES')
	for i in range(k):
		print(l.index(li[i]) + 1, end=' ')
else:
	print('NO')


a = input().split()
b = input().split()
d = []
for i in range(int(a[0])):
	d.append(b[i])
f = set(d)
h = list(f)
if len(h) >= int(a[1]):
	kak = []
	for i in range(int(a[1])):
		kak.append(str(d.index(h[i]) + 1))
	kak.sort()
	print('YES')
	print(' '.join(kak))
else:
	print('NO')


(s, t) = input().split()
rating = input().split()
team = []
teamin = ''
for i in range(int(s)):
	if len(team) == int(t):
		break
	elif rating[i] not in team:
		teamin += ' {}'.format(i + 1)
		team.append(rating[i])
if len(team) == int(t):
	print('YES')
	print(teamin.strip())
else:
	print('NO')


(n, m) = map(int, input().split())
li = list(map(int, input().split()))
ki = li
li = sorted(set(li))
if len(li) >= m:
	print('YES')
	for i in range(m):
		print(ki.index(li[i]) + 1, end=' ')
else:
	print('NO')


(a, b) = map(int, input().split())
l = list(map(int, input().split()))
l1 = set(l)
x = 1
if len(l1) >= b:
	print('YES')
	for i in l1:
		if x <= b:
			x += 1
			print(l.index(i) + 1, end=' ')
else:
	print('NO')


(m, n) = input().split()
(m, n) = (int(m), int(n))
lst = input().split()
n_lst = []
n_lst.append(lst[0])
n_lst1 = [1]
for i in range(1, len(lst)):
	if lst[i] not in n_lst:
		n_lst.append(lst[i])
		n_lst1.append(i + 1)
if len(n_lst1) >= n:
	print('YES')
	for i in range(n):
		print(n_lst1[i], end=' ')
else:
	print('NO')


(n, k) = map(int, input().split())
a = list(map(int, input().split()))
temp = []
stack = []
for i in range(n):
	if a[i] not in stack:
		stack.append(a[i])
		temp.append(i + 1)
	if len(temp) == k:
		break
if len(temp) == k:
	print('YES')
	print(' '.join(map(str, temp)))
else:
	print('NO')


(total_students, team_size) = [int(x) for x in input().split()]
ratings = [int(x) for x in input().split()]
if len(set(ratings)) >= team_size:
	indices = set()
	for rating in set(ratings):
		if len(indices) == team_size:
			break
		else:
			indices.add(ratings.index(rating) + 1)
	print('YES')
	print(' '.join(sorted([str(x) for x in indices])))
else:
	print('NO')


def ii():
	return int(input())

def mi():
	return map(int, input().split())

def si():
	return [int(x) for x in input().split()]

def ss():
	return [x for x in input()]
(a, b) = mi()
s = si()
e = list(set(s))
if len(e) < b:
	print('NO')
else:
	print('YES')
	for i in range(b):
		print(s.index(e[i]) + 1, end=' ')


import sys
from collections import defaultdict

def main(args):
	(n, k) = map(int, input().split())
	ar = list(map(int, input().split()))
	freq = defaultdict(list)
	for (i, val) in enumerate(ar, start=1):
		freq[val].append(i)
	if len(freq) < k:
		return print('NO')
	print('YES')
	teams = [pos[0] for pos in list(freq.values())][:k]
	print(' '.join((str(idx) for idx in teams)))
sys.exit(main(sys.argv))


(N, K) = map(int, input().split())
Rating = list(map(int, input().split()))
RatingSet = set(Rating)
result = []
resultIndex = []
if len(RatingSet) < K:
	print('NO')
else:
	print('YES')
	result.append(Rating[0])
	resultIndex.append(1)
	for i in range(N):
		Flag = 'y'
		length = len(result)
		for j in range(length):
			if Rating[i] == result[j]:
				Flag = 'n'
		if Flag == 'y':
			resultIndex.append(i + 1)
			result.append(Rating[i])
	for k in range(K):
		print(resultIndex[k], end=' ')


(n, k) = map(int, input().split())
a = list(map(int, input().split()))
s = []
b = []
for i in range(n):
	if a[i] in s:
		continue
	else:
		s.append(a[i])
		b.append(i)
	if len(s) == k:
		print('YES')
		b = [str(i + 1) for i in b]
		print(' '.join(b))
		break
if len(s) != k:
	print('NO')


(n, k) = map(int, input().split())
a = list(map(int, input().split()))
if len(set(a)) < k:
	print('NO')
else:
	print('YES')
	num = set([])
	ans = []
	cnt = 0
	for i in range(n):
		if a[i] in num:
			continue
		else:
			num.add(a[i])
			ans.append(i + 1)
			cnt += 1
		if cnt == k:
			print(' '.join(map(str, ans)))
			break


(n, k) = map(int, input().split())
a = sorted(zip(map(int, input().split()), range(n)))
ans = []
for i in range(n):
	if len(ans) == 0 or a[i - 1][0] != a[i][0]:
		ans += [a[i][1]]
if len(ans) >= k:
	print('YES')
	print(' '.join(map(lambda x: str(x + 1), ans[:k])))
else:
	print('NO')


(n, k) = map(int, input().split())
a = [int(x) for x in input().split()]
res = set(a)
if len(res) < k:
	print('NO')
else:
	print('YES')
	print(' '.join([str(a.index(x) + 1) for x in res][:k]))


l1 = list(map(int, input().split()))
n = l1[0]
k = l1[1]
l = list(map(int, input().split()))
ans = []
for i in l:
	if l.index(i) + 1 not in ans and k > 0:
		ans.append(l.index(i) + 1)
		k = k - 1
if k != 0:
	print('NO')
else:
	print('YES')
	for i in ans:
		print(i, end=' ')


(n, k) = map(int, input().split())
a = list(map(int, input().split()))
ase = set(a)
if len(ase) < k:
	print('NO')
else:
	asel = list(ase)
	print('YES')
	for ai in asel[:k]:
		print(a.index(ai) + 1, end=' ')


(n, k) = input().strip().split(' ')
(n, k) = [int(n), int(k)]
arr = list(map(int, input().strip().split(' ')))
alist = list((i * 0 for i in range(max(arr) + 1)))
index = list((i * 0 for i in range(max(arr) + 1)))
for i in range(n):
	alist[arr[i]] = 1
	index[arr[i]] = i
temp = alist.count(1)
if temp < k:
	print('NO')
else:
	print('YES')
	cnt = 0
	arr = []
	for i in range(len(alist)):
		if alist[i]:
			arr.append(index[i] + 1)
			cnt += 1
		if cnt == k:
			break
	arr.sort()
	for i in arr:
		print(i, end=' ')
	print()


(n, k) = map(int, input().split())
arr = [int(x) for x in input().split()]
set1 = set(arr)
if len(set1) == k or len(set1) > k:
	print('YES')
	brr = []
	j = 0
	for ele in set1:
		if j < k:
			brr.append(arr.index(ele) + 1)
		elif j > k:
			break
		j += 1
	brr.sort()
	print(*brr)
else:
	print('NO')


(nstud, teams) = map(int, input().split())
ratings = list(map(int, input().split()))
if len(set(ratings)) < teams or len(ratings) != nstud:
	print('NO')
else:
	enc = []
	index = []
	for i in range(nstud):
		if ratings[i] not in enc:
			enc.append(ratings[i])
			index.append(str(i + 1))
		if len(index) == teams:
			break
	print('YES')
	print(' '.join(index))


(_, k) = map(lambda x: int(x), input().split())
a = list(map(lambda x: int(x), input().split()))
b = {a[i]: i for i in range(len(a))}
if len(b) < k:
	print('NO')
else:
	print('YES')
	print(' '.join(list(map(lambda x: str(x + 1), list(b.values())[:k]))))


line = input().split()
num_students = int(line[0])
team_size = int(line[1])
student_ratings = []
students = []
line = input().split()
for student in range(num_students):
	rating = int(line[student])
	if not rating in student_ratings:
		student_ratings.append(rating)
		students.append(student)
if len(students) >= team_size:
	print('YES')
	for i in range(team_size):
		print(students[i] + 1, end=' ')
	print()
else:
	print('NO')


(n, k) = map(int, input().split(' '))
mydict = dict()
for (index, myval) in enumerate(map(int, input().split(' ')), start=1):
	if not myval in mydict.keys():
		mydict[myval] = index
if k > len(mydict.keys()):
	result = 'NO'
else:
	mylist = list(mydict.values())[:k]
	result = f"YES\n{' '.join(map(str, mylist))}"
print(result)


(n, k) = list(map(int, input().split()))
a = input().split()
u = set(a)
if len(u) >= k:
	print('YES')
	l = sorted([a.index(v) + 1 for v in u][:k])
	print(' '.join([str(l2) for l2 in l]))
else:
	print('NO')


(n, k) = map(int, input().split())
ar = list(map(int, input().split()))
s = set()
for x in ar:
	s.add(x)
if len(s) >= k:
	print('YES')
	e = set()
	a = []
	i = 0
	for x in ar:
		i += 1
		if x not in e:
			a.append(i)
		e.add(x)
	print(*a[:k])
else:
	print('NO')


(n, k) = map(int, input().split())
l = list(map(int, input().split()))
s = set()
for i in range(len(l)):
	s.add(l[i])
l1 = [i for i in s]
l2 = []
if len(s) >= k:
	print('YES')
	for i in range(k):
		if l1[i] in l:
			l2.append(l.index(l1[i]) + 1)
	l2.sort()
	for i in range(len(l2)):
		print(l2[i], end=' ')
else:
	print('NO')


(n, k) = map(int, input().split())
arr = list(map(int, input().split()))
s = list(set(arr))
if len(s) < k:
	print('NO')
else:
	print('YES')
	x = []
	for i in range(k):
		x.append(arr.index(s[i]) + 1)
	print(*sorted(x))


(n, m) = map(int, input().split())
a = list(map(int, input().split()))
p = []
g = []
j = k = 0
for i in range(n):
	p.append([i + 1, a[i]])
a = sorted(list(set(a)))
p.sort(key=lambda x: x[1])
while k < len(a):
	if a[k] == p[j][1]:
		g.append(p[j][0])
		k += 1
		j += 1
	else:
		j += 1
g.sort()
if len(a) >= m:
	print('YES')
	print(' '.join(map(str, g[:m])))
else:
	print('NO')


(a, b) = map(int, input().split())
c = list(map(int, input().split()))
d = set(c)
if len(d) < b:
	print('NO')
else:
	print('YES')
	e = []
	f = []
	m = int(0)
	x = int(0)
	while x < a and m < b:
		if c[x] not in e:
			e.append(c[x])
			f.append(x + 1)
			m = m + 1
		x = x + 1
	print(*f)


(n, k) = map(int, input().split())
arr = list(map(int, input().split()))
ans = []
p = set(arr)
if len(p) < k:
	print('NO')
else:
	for i in p:
		ans.append(arr.index(i) + 1)
		k -= 1
		if k == 0:
			break
	print('YES')
	print(*ans, sep=' ')


from collections import Counter
(n, k) = map(int, input().split())
arr = list(map(int, input().split()))
c = Counter(arr)
if len(c) >= k:
	print('YES')
	cnt = k
	for i in range(n):
		if cnt == 0:
			break
		if arr[i] in c:
			print(i + 1, end=' ')
			del c[arr[i]]
			cnt -= 1
else:
	print('NO')


def main():
	(n, k) = input().split(' ')
	n = int(n)
	k = int(k)
	dic = {}
	a = input().split(' ')
	for i in range(n):
		a[i] = int(a[i])
		if a[i] not in dic:
			dic[a[i]] = i + 1
	if len(dic.keys()) < k:
		print('NO')
	else:
		print('YES')
		team = list(dic.values())
		teamStr = str(team[0]) + ' '
		for j in range(1, k):
			teamStr = teamStr + str(team[j]) + ' '
		print(teamStr)
main()


from collections import defaultdict
(n, k) = list(map(int, input().split()))
raiting = [int(i) for i in input().split()]
d = defaultdict(int)
for unit_index in range(len(raiting)):
	if len(d) < k:
		d[raiting[unit_index]] = unit_index + 1
	else:
		break
if len(d) < k:
	print('NO')
else:
	print('YES')
	print(*d.values())


Ip = input().split(' ')
Ip = [int(x) for x in Ip]
(n, k) = Ip
List = input().split(' ')
List = [int(x) for x in List]
Unique = set(List)
Unique = list(Unique)
if len(Unique) < k:
	print('NO')
	exit(0)
else:
	Ind = []
	for i in range(k):
		Ind.append(List.index(Unique[i]) + 1)
	print('YES')
	[print(x, end=' ') for x in Ind]
	exit(0)


(n, k) = map(int, input().split())
L = list(map(int, input().split()))
M = list(set(L))
if len(M) < k:
	print('NO')
else:
	print('YES')
	for i in range(k):
		print(L.index(M[i]) + 1, end=' ')


(n, k) = input().split(' ')
k = int(k)
a_list = [a for a in input().split(' ')]
count = 0
team_list = []
index_team_list = []
for (i, a) in enumerate(a_list):
	if a not in team_list:
		team_list.append(a)
		index_team_list.append(i + 1)
		count += 1
	if count == k:
		print('YES')
		for index in index_team_list:
			print(index, end=' ')
		break
else:
	print('NO')


(n, k) = map(int, input().split())
a = list(map(int, input().split()))
s = set()
w = set()
e = ''
aa = 0
for i in range(n):
	if a[i] in s:
		continue
	else:
		s.add(a[i])
		w.add(i + 1)
if len(s) < k:
	print('NO')
	exit()
else:
	print('YES')
	while aa < k:
		e += str(w.pop()) + ' '
		aa += 1
	print(e)


(n, k) = input().split(' ')
n = int(n)
k = int(k)
a = list(map(int, input().split(' ')))
l = len(a)
ratings = {}
for i in range(0, l):
	try:
		ratings[a[i]].append(i + 1)
	except:
		ratings[a[i]] = [i + 1]
if len(ratings) < k:
	print('NO')
else:
	print('YES')
	counter = 0
	for i in ratings.keys():
		if counter == 0:
			print(ratings[i][0], end='')
		else:
			print(' ', ratings[i][0], end='')
		counter = counter + 1
		if counter == k:
			print()
			break


import sys
(n, k) = map(int, sys.stdin.readline().split())
an = list(map(int, sys.stdin.readline().split()))
d = {}
for i in range(n):
	if an[i] not in d:
		d[an[i]] = i + 1
if len(d) >= k:
	print('YES')
	count = 0
	for (_, v) in d.items():
		print(v, end=' ')
		count += 1
		if count == k:
			break
	print()
else:
	print('NO')


(n, k) = map(int, input().split())
(a, c, o) = (set(), 1, [])
for i in input().split():
	if i not in a:
		a.add(i)
		o += [str(c)]
	c += 1
if len(o) < k:
	print('NO')
else:
	print('YES')
	print(' '.join(o[:k]))


(n, k) = map(int, input().split())
array = list(map(int, input().split()))
(numb, rating) = ([], [])
for i in range(len(array)):
	if array[i] not in rating:
		rating.append(array[i])
		numb.append(i + 1)
if len(numb) >= k:
	print('YES')
	for i in numb[:k]:
		print(i, end=' ')
else:
	print('NO')


(n, k) = map(int, input().split())
ar = list(map(int, input().split()))
s = set(ar)
output = []
if len(s) < k or k > len(ar):
	print('NO', end='')
else:
	print('YES')
	d = {}
	for i in range(len(ar)):
		if ar[i] not in d:
			d[ar[i]] = i + 1
	for key in sorted(d):
		output.append(d[key])
	output.sort()
	for i in range(k):
		print(output[i], end=' ')


def solve(test):
	(n, k) = map(int, input().split())
	a = list(map(int, input().split()))
	ans = []
	old = []
	for i in range(n):
		if a[i] not in old:
			ans.append(i + 1)
		old.append(a[i])
	if len(ans) < k:
		print('NO')
	else:
		print('YES')
		print(*ans[:k])
t = 1
for _ in range(t):
	solve(_ + 1)


n = list(map(int, input().split()))
k = list(map(int, input().split()))
li = []
m = []
for i in range(n[0]):
	if k[i] not in li:
		li.append(k[i])
		m.append(i + 1)
if len(m) >= n[1]:
	print('YES')
	for j in range(n[1]):
		print(m[j], end=' ')
else:
	print('NO')


(a, n_group) = list(map(int, input().split()))
students = list(map(int, input().split()))
unique_students = list(set(students))
if len(unique_students) < n_group:
	print('NO')
else:
	print('YES')
	for i in range(n_group):
		print(students.index(unique_students[i]) + 1, end=' ')


(n, k) = map(int, input().split())
arr = list(map(int, input().split()))
for i in range(n):
	arr[i] = (arr[i], i + 1)
arr.sort()
cur = -1
ans = []
for i in range(n):
	if arr[i][0] != cur:
		ans.append(arr[i][1])
		cur = arr[i][0]
	if len(ans) == k:
		break
if len(ans) == k:
	print('YES')
	print(*ans)
else:
	print('NO')


(n, k) = map(int, input().split())
s = input().split()
team = []
team_values = []
for (i, a) in enumerate(s):
	if a not in team_values:
		team += [i]
		team_values += [a]
if len(team) >= k:
	print('YES')
	for x in range(k):
		print(team[x] + 1, end='')
		if x != k - 1:
			print(' ', end='')
	print()
else:
	print('NO')


def solve(n, m, t):
	if len(set(t)) >= m:
		result = []
		test = list(set(t))[:m]
		for i in test:
			result.append(str(t.index(i) + 1))
		print('YES')
		return ' '.join(result)
	return 'NO'
(n, m) = map(int, input().split())
t = list(map(int, input().split()))
print(solve(n, m, t))


dic = {}
(n, k) = [int(c) for c in input().split()]
notas = [int(c) for c in input().split()]
indices = []
for (i, nota) in enumerate(notas):
	if nota in dic.keys():
		dic[nota] += 1
	else:
		indices.append(i + 1)
		dic[nota] = 1
if len(dic) >= k:
	print('YES')
	print(' '.join((str(x) for x in indices[:k])))
else:
	print('NO')


numbers1 = input().split(' ')
k = int(numbers1[1])
x = int(numbers1[0])
numbers = input().split(' ')
prev_numbers = []
indices = []
i = 0
while i < len(numbers) and len(prev_numbers) < k:
	q = int(numbers[i])
	if q not in prev_numbers:
		prev_numbers.append(q)
		indices.append(i + 1)
	i += 1
if len(prev_numbers) >= k:
	s = ''
	print('YES')
	for i in indices:
		s += str(i) + ' '
	print(s[:-1])
else:
	print('NO')


def test_0():
	import math
	from collections import Counter
	(n, k) = list(map(int, input().split(' ')))
	data = list(map(int, input().split(' ')))
	bb = list(set(data))
	if len(bb) >= k:
		print('YES')
		cc = []
		for b in bb[:k]:
			for i in range(len(data)):
				if b == data[i]:
					cc.append(i + 1)
					break
		cc.sort()
		cc = list(map(str, cc))
		print(' '.join(cc))
	else:
		print('NO')
test_0()


import sys
input = sys.stdin.readline
L = lambda : list(map(int, input().split()))
M = lambda : map(int, input().split())
(n, k) = M()
l = L()
s = list(set(l))
if len(s) < k:
	print('NO')
else:
	g = []
	print('YES')
	for i in range(k):
		g.append(l.index(s[i]) + 1)
	g.sort()
	print(*g)


(n, m) = [int(i) for i in input().split()]
list1 = [int(i) for i in input().split()]
count = 0
for i in range(0, len(list1)):
	for j in range(0, len(list1)):
		if (list1[i] == list1[j]) & (i != j):
			list1[i] = 0
			count += 1
if m > len(list1) - count:
	print('NO')
else:
	print('YES')
	for i in range(0, len(list1)):
		if (list1[i] != 0) & (m > 0):
			print(i + 1, end=' ')
			m -= 1


def go():
	(n, k) = (int(i) for i in input().split(' '))
	s = [int(i) for i in input().split(' ')]
	c = 0
	so_far = set()
	o = []
	for i in range(n):
		if c == k:
			break
		if s[i] not in so_far:
			so_far.add(s[i])
			o.append(i)
			c += 1
	if c == k:
		print('YES')
		print(' '.join((str(i + 1) for i in o)).strip())
	else:
		print('NO')
go()


def solve(n, k, a):
	if len(set(a)) < k:
		return 'NO'
	else:
		s = set()
		sv = set()
		for (i, v) in enumerate(a):
			if len(s) == k:
				break
			if v not in sv:
				s.add(i + 1)
				sv.add(v)
		r = 'YES\n'
		r += ' '.join(map(str, s))
		return r

def main():
	(n, k) = list(map(int, input().split()))
	a = list(map(int, input().split()))
	print(solve(n, k, a))
main()


[n, k] = [int(x) for x in input().split()]
a = [int(x) for x in input().split()]
S = set()
ans = []
for i in range(0, n):
	if a[i] not in S:
		S.add(a[i])
		ans += [i + 1]
if len(ans) < k:
	print('NO')
else:
	print('YES')
	print(*ans[:k])


nm = input().split(' ')
n = int(nm[0])
m = int(nm[1])
l = list(map(int, input().split(' ')))
M = []
for i in range(len(l)):
	if l[i] not in M:
		M.append(l[i])
if len(M) >= m:
	print('YES')
	for i in range(m):
		if i == len(M) - 1:
			print(l.index(M[i]) + 1, end='')
		else:
			print(l.index(M[i]) + 1, end=' ')
else:
	print('NO')


(n, k) = [int(x) for x in input().split()]
l = [int(x) for x in input().split()]
was = []
if len(set(l)) >= k:
	print('YES')
	for i in range(len(l)):
		if l[i] not in was:
			was.append(l[i])
			if len(was) == k:
				print(i + 1)
				break
			else:
				print(i + 1, end=' ')
else:
	print('NO')


(N, M) = map(int, input().split())
A = [int(j) for j in input().split()]
I = [1]
for i in range(1, N):
	if A[i] not in A[:i]:
		I.append(i + 1)
if len(I) < M:
	print('NO')
else:
	print('YES')
	print(*I[:M])


[n, k] = [int(x) for x in input().split()]
a = [int(x) for x in input().split()]
b = []
c = []
for i in range(0, n):
	if a[i] not in b and len(b) < k:
		b.append(a[i])
		c.append(i + 1)
if len(b) < k:
	print('NO')
else:
	print('YES')
	for i in c:
		print(i, end=' ')


[n, k] = map(int, input().split())
a = list(map(int, input().split()))
b = {}
for (i, v) in enumerate(a):
	if not v in b:
		b[v] = i + 1
if len(b) >= k:
	print('YES')
	print(' '.join(list(map(str, b.values()))[:k]))
else:
	print('NO')


(n, k) = map(int, input().split())
a = list(map(int, input().split()))
team = []
ind = []
for i in range(len(a)):
	if not a[i] in team:
		team.append(a[i])
		ind.append(i + 1)
if len(ind) >= k:
	print('YES')
	for i in ind[:k]:
		print(i, end=' ')
else:
	print('NO')


(n, k) = map(int, input().split())
l = list(map(int, input().split()))
s = []
s.extend(l)
set1 = set(s)
ans = []
if len(set1) >= k:
	flag = 0
	for i in set1:
		flag1 = 0
		for j in range(n):
			if i == l[j]:
				ans.append(j + 1)
				flag = 1
				break
		if len(ans) == k:
			flag1 = 1
			break
if len(ans) == k:
	print('YES')
	print(*ans)
else:
	print('NO')


from collections import Counter, defaultdict
BS = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ'

def to_base(s, b):
	res = ''
	while s:
		res += BS[s % b]
		s //= b
	return res[::-1] or '0'
alpha = 'abcdefghijklmnopqrstuvwxyz'
from math import floor, ceil, pi
primes = [2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71, 73, 79, 83, 89, 97, 101, 103, 107, 109, 113, 127, 131, 137, 139, 149, 151, 157, 163, 167, 173, 179, 181, 191, 193, 197, 199, 211, 223, 227, 229, 233, 239, 241, 251, 257, 263, 269, 271, 277, 281, 283, 293, 307, 311, 313, 317, 331, 337, 347, 349, 353, 359, 367, 373, 379, 383, 389, 397, 401, 409, 419, 421, 431, 433, 439, 443, 449, 457, 461, 463, 467, 479, 487, 491, 499, 503, 509, 521, 523, 541, 547, 557, 563, 569, 571, 577, 587, 593, 599, 601, 607, 613, 617, 619, 631, 641, 643, 647, 653, 659, 661, 673, 677, 683, 691, 701, 709, 719, 727, 733, 739, 743, 751, 757, 761, 769, 773, 787, 797, 809, 811, 821, 823, 827, 829, 839, 853, 857, 859, 863, 877, 881, 883, 887, 907, 911, 919, 929, 937, 941, 947, 953, 967, 971, 977, 983, 991, 997, 1009, 1013, 1019, 1021, 1031, 1033, 1039, 1049, 1051, 1061, 1063, 1069, 1087, 1091, 1093, 1097, 1103, 1109, 1117, 1123, 1129, 1151, 1153, 1163, 1171, 1181, 1187, 1193, 1201, 1213, 1217, 1223, 1229, 1231, 1237, 1249, 1259, 1277, 1279, 1283, 1289, 1291, 1297, 1301, 1303, 1307, 1319, 1321, 1327, 1361, 1367, 1373, 1381, 1399, 1409, 1423, 1427, 1429, 1433, 1439, 1447, 1451, 1453, 1459, 1471, 1481, 1483, 1487, 1489, 1493, 1499, 1511, 1523, 1531, 1543, 1549, 1553, 1559, 1567, 1571, 1579, 1583, 1597, 1601, 1607, 1609, 1613, 1619, 1621, 1627, 1637, 1657, 1663, 1667, 1669, 1693, 1697, 1699, 1709, 1721, 1723, 1733, 1741, 1747, 1753, 1759, 1777, 1783, 1787, 1789, 1801, 1811, 1823, 1831, 1847, 1861, 1867, 1871, 1873, 1877, 1879, 1889, 1901, 1907, 1913, 1931, 1933, 1949, 1951, 1973, 1979, 1987, 1993, 1997, 1999, 2003, 2011, 2017, 2027, 2029, 2039, 2053, 2063, 2069, 2081, 2083, 2087, 2089, 2099, 2111, 2113, 2129, 2131, 2137, 2141, 2143, 2153, 2161, 2179, 2203, 2207, 2213, 2221, 2237, 2239, 2243, 2251, 2267, 2269, 2273, 2281, 2287, 2293, 2297, 2309, 2311, 2333, 2339, 2341, 2347, 2351, 2357, 2371, 2377, 2381, 2383, 2389, 2393, 2399, 2411, 2417, 2423, 2437, 2441, 2447, 2459, 2467, 2473, 2477, 2503, 2521, 2531, 2539, 2543, 2549, 2551, 2557, 2579, 2591, 2593, 2609, 2617, 2621, 2633, 2647, 2657, 2659, 2663, 2671, 2677, 2683, 2687, 2689, 2693, 2699, 2707, 2711, 2713, 2719, 2729, 2731, 2741, 2749, 2753, 2767, 2777, 2789, 2791, 2797, 2801, 2803, 2819, 2833, 2837, 2843, 2851, 2857, 2861, 2879, 2887, 2897, 2903, 2909, 2917, 2927, 2939, 2953, 2957, 2963, 2969, 2971, 2999, 3001, 3011, 3019, 3023, 3037, 3041, 3049, 3061, 3067, 3079, 3083, 3089, 3109, 3119, 3121, 3137, 3163, 3167, 3169, 3181, 3187, 3191, 3203, 3209, 3217, 3221, 3229, 3251, 3253, 3257, 3259, 3271, 3299, 3301, 3307, 3313, 3319, 3323, 3329, 3331, 3343, 3347, 3359, 3361, 3371, 3373, 3389, 3391, 3407, 3413, 3433, 3449, 3457, 3461, 3463, 3467, 3469, 3491, 3499, 3511, 3517, 3527, 3529, 3533, 3539, 3541, 3547, 3557, 3559, 3571, 3581, 3583, 3593, 3607, 3613, 3617, 3623, 3631, 3637, 3643, 3659, 3671, 3673, 3677, 3691, 3697, 3701, 3709, 3719, 3727, 3733, 3739, 3761, 3767, 3769, 3779, 3793, 3797, 3803, 3821, 3823, 3833, 3847, 3851, 3853, 3863, 3877, 3881, 3889, 3907, 3911, 3917, 3919, 3923, 3929, 3931, 3943, 3947, 3967, 3989, 4001, 4003, 4007, 4013, 4019, 4021, 4027, 4049, 4051, 4057, 4073, 4079, 4091, 4093, 4099, 4111, 4127, 4129, 4133, 4139, 4153, 4157, 4159, 4177, 4201, 4211, 4217, 4219, 4229, 4231, 4241, 4243, 4253, 4259, 4261, 4271, 4273, 4283, 4289, 4297, 4327, 4337, 4339, 4349, 4357, 4363, 4373, 4391, 4397, 4409, 4421, 4423, 4441, 4447, 4451, 4457, 4463, 4481, 4483, 4493, 4507, 4513, 4517, 4519, 4523, 4547, 4549, 4561, 4567, 4583, 4591, 4597, 4603, 4621, 4637, 4639, 4643, 4649, 4651, 4657, 4663, 4673, 4679, 4691, 4703, 4721, 4723, 4729, 4733, 4751, 4759, 4783, 4787, 4789, 4793, 4799, 4801, 4813, 4817, 4831, 4861, 4871, 4877, 4889, 4903, 4909, 4919, 4931, 4933, 4937, 4943, 4951, 4957, 4967, 4969, 4973, 4987, 4993, 4999, 5003, 5009, 5011, 5021, 5023, 5039, 5051, 5059, 5077, 5081, 5087, 5099, 5101, 5107, 5113, 5119, 5147, 5153, 5167, 5171, 5179, 5189, 5197, 5209, 5227, 5231, 5233, 5237, 5261, 5273, 5279, 5281, 5297, 5303, 5309, 5323, 5333, 5347, 5351, 5381, 5387, 5393, 5399, 5407, 5413, 5417, 5419, 5431, 5437, 5441, 5443, 5449, 5471, 5477, 5479, 5483, 5501, 5503, 5507, 5519, 5521, 5527, 5531, 5557, 5563, 5569, 5573, 5581, 5591, 5623, 5639, 5641, 5647, 5651, 5653, 5657, 5659, 5669, 5683, 5689, 5693, 5701, 5711, 5717, 5737, 5741, 5743, 5749, 5779, 5783, 5791, 5801, 5807, 5813, 5821, 5827, 5839, 5843, 5849, 5851, 5857, 5861, 5867, 5869, 5879, 5881, 5897, 5903, 5923, 5927, 5939, 5953, 5981, 5987, 6007, 6011, 6029, 6037, 6043, 6047, 6053, 6067, 6073, 6079, 6089, 6091, 6101, 6113, 6121, 6131, 6133, 6143, 6151, 6163, 6173, 6197, 6199, 6203, 6211, 6217, 6221, 6229, 6247, 6257, 6263, 6269, 6271, 6277, 6287, 6299, 6301, 6311, 6317, 6323, 6329, 6337, 6343, 6353, 6359, 6361, 6367, 6373, 6379, 6389, 6397, 6421, 6427, 6449, 6451, 6469, 6473, 6481, 6491, 6521, 6529, 6547, 6551, 6553, 6563, 6569, 6571, 6577, 6581, 6599, 6607, 6619, 6637, 6653, 6659, 6661, 6673, 6679, 6689, 6691, 6701, 6703, 6709, 6719, 6733, 6737, 6761, 6763, 6779, 6781, 6791, 6793, 6803, 6823, 6827, 6829, 6833, 6841, 6857, 6863, 6869, 6871, 6883, 6899, 6907, 6911, 6917, 6947, 6949, 6959, 6961, 6967, 6971, 6977, 6983, 6991, 6997, 7001, 7013, 7019, 7027, 7039, 7043, 7057, 7069, 7079, 7103, 7109, 7121, 7127, 7129, 7151, 7159, 7177, 7187, 7193, 7207, 7211, 7213, 7219, 7229, 7237, 7243, 7247, 7253, 7283, 7297, 7307, 7309, 7321, 7331, 7333, 7349, 7351, 7369, 7393, 7411, 7417, 7433, 7451, 7457, 7459, 7477, 7481, 7487, 7489, 7499, 7507, 7517, 7523, 7529, 7537, 7541, 7547, 7549, 7559, 7561, 7573, 7577, 7583, 7589, 7591, 7603, 7607, 7621, 7639, 7643, 7649, 7669, 7673, 7681, 7687, 7691, 7699, 7703, 7717, 7723, 7727, 7741, 7753, 7757, 7759, 7789, 7793, 7817, 7823, 7829, 7841, 7853, 7867, 7873, 7877, 7879, 7883, 7901, 7907, 7919]

def primef(n, plst=[]):
	if n == 1:
		return plst
	else:
		for m in primes:
			if n % m == 0:
				return primef(n // m, plst + [m])
		return primef(1, plst + [n])

def lmii():
	return list(map(int, input().split()))

def ii():
	return int(input())

def countOverlapping(string, sub):
	count = start = 0
	while True:
		start = string.find(sub, start) + 1
		if start > 0:
			count += 1
		else:
			return count
from copy import deepcopy
(n, k) = lmii()
nums = lmii()
c = Counter(nums)
if len(c) >= k:
	print('YES')
	for j in c.most_common(k):
		print(nums.index(j[0]) + 1, end=' ')
else:
	print('NO')


(n, m) = map(int, input().split())
a = input().split()
b = []
c = []
for i in range(len(a)):
	if a[i] not in b:
		b.append(a[i])
		c.append(i + 1)
		m -= 1
	if not m:
		print('YES')
		print(*c)
		break
else:
	print('NO')


arr = [int(x) for x in input().split()]
n = arr[0]
k = arr[1]
arr = [int(x) for x in input().split()]
team = [None] * k
team2 = [None] * k
x = k
for i in range(n):
	for j in range(k):
		if arr[i] == team[j]:
			break
		elif team[j] == None:
			team[j] = arr[i]
			team2[j] = i + 1
			x = x - 1
			break
if x == 0:
	print('YES')
	for i in team2:
		print(i)
else:
	print('NO')


(n, k) = [int(x) for x in input().rstrip().split()]
a = [int(x) for x in input().rstrip().split()]
b = list(set(a))
if len(b) >= k:
	print('YES')
	for i in range(0, k):
		print(a.index(b[i]) + 1, end=' ')
else:
	print('NO')


(n, k) = map(int, input().split())
sets = ()
s = list(map(int, input().split()))
dic = {}
for i in range(n):
	dic[s[i]] = i + 1
sets = set(s)
p = len(sets)
if p < k:
	print('NO')
else:
	print('YES')
	m = ''
	c = 0
	for i in sets:
		m = m + str(dic[i]) + ' '
		c += 1
		if c == k:
			break
	print(m)


(n, k) = map(int, input().split())
a = list(map(int, input().split()))
s = set()
p = []
for i in range(n):
	if a[i] not in s:
		s.add(a[i])
		k -= 1
		p.append(i + 1)
		if k == 0:
			break
if k == 0:
	print('YES')
	print(*p)
else:
	print('NO')


(n, m) = map(int, input().split())
a = list(map(int, input().split()))
s = set()
count = 0
ans = []
for i in range(n):
	if not a[i] in s:
		count += 1
		ans.append(i + 1)
		s.add(a[i])
if count >= m:
	print('YES')
	print(*ans[:m])
else:
	print('NO')


(n, k) = map(int, input().split())
a = input().split()
for i in range(n):
	a[i] = int(a[i])
t = set(a)
d = 0
q = 0
if len(t) < k:
	print('NO')
else:
	print('YES')
	while q < k and d < len(a):
		if a[d] in t:
			print(d + 1, end=' ')
			t.remove(a[d])
			q += 1
		d += 1


(n, k) = input().split(' ')
nums = []
unique = {}
values = [int(i) for i in input().split()]
for i in range(0, len(values)):
	if len(unique) < int(k):
		if values[i] not in unique.values():
			unique[i + 1] = values[i]
if int(len(unique)) == int(k):
	print('YES')
	for key in unique.keys():
		print(key, end=' ')
else:
	print('NO')


(a, b) = map(int, input().split())
p = set()
q = set()
list1 = list(map(int, input().split()))
for i in range(a):
	if len(q) == b:
		continue
	siz = len(p)
	p.add(list1[i])
	if siz == len(p):
		continue
	q.add(i + 1)
if len(p) < b:
	print('NO')
else:
	print('YES')
	list2 = list(q)
	for i in range(len(q)):
		print(str(list2[i]) + ' ', end='')


(_, k) = map(int, input().split())
A = list(map(int, input().split()))
B = set(A)
if len(B) < k:
	print('NO')
else:
	print('YES')
	for _ in range(k):
		print(A.index(B.pop()) + 1, end=' ')


num = input().split()
mark = input().split()
group = int(num[0]) // int(num[1])
result = []
end = []
for i in range(len(mark)):
	if int(mark[i]) not in result:
		result = result + [int(mark[i])]
		end = end + [str(i + 1)]
	if len(end) == int(num[1]):
		break
if int(num[1]) != len(end):
	print('NO')
else:
	print('YES')
	print(' '.join(end))


(n, k) = [int(x) for x in input().strip().split()]
a = {x: i + 1 for (i, x) in enumerate(input().strip().split())}
if len(a) < k:
	print('NO')
else:
	print('YES')
	print(*list(a.values())[:k])


StSi = list(map(int, input().split()))
Students = list(map(int, input().split()))
mylist = list()
mylist2 = list()
ans = ''
for a in range(len(Students)):
	if Students[a] not in mylist:
		mylist.append(Students[a])
		mylist2.append(a)
if len(mylist) >= StSi[1]:
	print('YES')
	for a in range(StSi[1]):
		ans += str(mylist2[a] + 1) + ' '
	print(ans)
else:
	print('NO')


(n, k) = map(int, input().split())
l = list(map(int, input().split()))
s = set(l)
l1 = []
l2 = []
if len(s) >= k:
	print('YES')
	for i in s:
		for j in range(len(l)):
			if i == l[j]:
				l1.append(j + 1)
				break
	l1.sort()
	for i in range(k):
		l2.append(l1[i])
	print(*l2)
else:
	print('NO')


(students, team_size) = list(map(int, input().split()))
rating = list(map(int, input().split()))
final_team = []
final_team.append(rating[0])
team_size -= 1
i = 1
while team_size > 0 and i < students:
	if rating[i] in final_team:
		i += 1
	else:
		final_team.append(rating[i])
		team_size -= 1
		i += 1
indexes = []
if team_size == 0:
	print('YES')
	for a in final_team:
		indexes.append(rating.index(a) + 1)
	print(*indexes, sep=' ')
else:
	print('NO')


(n, k) = map(int, input().split())
arr = list(map(int, input().split()))
dic = {}
for (i, v) in enumerate(arr):
	dic[v] = i + 1
if len(dic) >= k:
	print('YES')
	print(' '.join(map(str, list(dic.values())[:k])))
else:
	print('NO')


(n, k) = map(int, input().split())
l = input()
l = [int(i) for i in l.split()]
s = {}
t = 0
f = set()
for i in l:
	s[i] = t
	f.add(i)
	t += 1
f = list(f)
if len(s) >= k:
	print('YES')
	for i in range(k):
		print(s[f[i]] + 1, end=' ')
else:
	print('NO')


(n, k) = map(int, input().split())
a = list(map(int, input().split()))
ans = []
for i in range(n):
	flag = True
	for o in ans:
		if a[i] == o[0]:
			flag = False
	if flag:
		ans.append((a[i], i))
if len(ans) >= k:
	print('YES')
	for i in range(k):
		print(ans[i][1] + 1, end=' ')
else:
	print('NO')


(n, k) = map(int, input().split())
s = [int(x) for x in input().split()]
pos = []
for i in range(0, len(s)):
	pos.append(i)
if len(set(s)) < k:
	print('NO')
else:
	print('YES')
	kk = dict()
	L = []
	for i in range(0, len(s)):
		if kk.get(s[i]) == None:
			L.append(i + 1)
			kk[s[i]] = 1
	L = L[:k]
	print(*L)


import sys
from collections import Counter

def input():
	return sys.stdin.readline().strip()

def list2d(a, b, c):
	return [[c] * b for i in range(a)]

def list3d(a, b, c, d):
	return [[[d] * c for j in range(b)] for i in range(a)]

def list4d(a, b, c, d, e):
	return [[[[e] * d for j in range(c)] for j in range(b)] for i in range(a)]

def ceil(x, y=1):
	return int(-(-x // y))

def INT():
	return int(input())

def MAP():
	return map(int, input().split())

def LIST(N=None):
	return list(MAP()) if N is None else [INT() for i in range(N)]

def Yes():
	print('Yes')

def No():
	print('No')

def YES():
	print('YES')

def NO():
	print('NO')
INF = 10 ** 18
MOD = 10 ** 9 + 7
(N, K) = MAP()
A = LIST()
S = set()
ans = []
for i in range(N):
	if A[i] not in S:
		S.add(A[i])
		ans.append(i + 1)
		if len(ans) == K:
			break
else:
	NO()
	exit()
YES()
print(*ans)


(l, k) = list(map(int, input().split()))
pop = list(map(int, input().split()))
lol = []
for item in pop:
	if item not in lol:
		lol.append(item)
	else:
		pass
kam = []
if len(lol) < k:
	print('NO')
else:
	print('YES')
	for itm in lol:
		if len(kam) == k:
			break
		else:
			kam.append(pop.index(itm) + 1)
	print(*kam)


(n, k) = map(int, input().split())
scores = input().split()
temp = set()
result = []
if len(set(scores)) < k:
	print('NO')
	exit()
else:
	for i in range(len(scores)):
		if scores[i] not in temp and len(result) < k:
			temp.add(scores[i])
			result.append(i + 1)
print('YES')
result = [str(x) for x in result]
print(' '.join(result))


R = lambda : map(int, input().split())
(n, k) = R()
L = list(R())
if len(set(L)) < k:
	print('NO')
else:
	print('YES')
	a = list(set(L))
	res = []
	for i in a:
		if k > 0:
			res.append(L.index(i) + 1)
			k -= 1
	print(*sorted(res))


(n, k) = map(int, input().split())
l = list(map(int, input().split()))
if len(set(l)) >= k:
	print('YES')
	seti = set()
	ans = []
	for (j, i) in enumerate(l):
		if i not in seti:
			seti.add(i)
			ans.append(j + 1)
		if len(seti) == k:
			print(*ans)
			break
else:
	print('NO')


n = [int(num) for num in input().split()]
p = [int(num) for num in input().split()]
a = {}
for i in range(0, n[0]):
	if p[i] not in a.keys():
		a[p[i]] = i + 1
	if len(a) == n[1]:
		break
if len(a) == n[1]:
	print('YES')
	for i in a.values():
		print(i)
else:
	print('NO')


import random
(n, k) = map(int, input().split())
arr = list(map(int, input().split()))
new_arr = list(dict.fromkeys(arr))
if k > len(new_arr):
	print('NO')
else:
	index_ = []
	temp = random.sample(new_arr, k)
	for i in temp:
		index_.append(arr.index(i) + 1)
	print('YES')
	print(*index_, sep=' ')


(n, k) = map(int, input().split())
arr = [int(i) for i in input().split()]
counts = [0] * 100
for x in arr:
	counts[x - 1] += 1
ans = []
for (i, x) in enumerate(counts):
	if x:
		ans.append(i + 1)
if k <= len(ans):
	print('YES')
	print(' '.join([str(arr.index(x) + 1) for x in ans[:k]]))
else:
	print('NO')


a = [int(i) for i in input().split()]
n = a[0]
k = a[1]
arr = [int(i) for i in input().split()]
arr1 = []
arr2 = []
for i in range(n):
	if arr[i] not in arr1:
		arr1.append(arr[i])
		arr2.append(i)
if len(arr2) >= k:
	print('YES')
	for i in range(k):
		print(arr2[i] + 1, end=' ')
	print()
else:
	print('NO')


(n, k) = map(int, input().split())
l = list(map(int, input().split()))
t = set(l)
c = 0
if len(t) < k:
	print('NO')
else:
	print('YES')
	c += 1
	print('1', end=' ')
	l1 = [l[0]]
	for i in range(1, n):
		if c == k:
			break
		if l[i] not in l1:
			l1.append(l[i])
			print(i + 1, end=' ')
			c += 1


(n, k) = map(int, input().split())
t = list(map(int, input().split()))
l = set(t)
print('NO' if len(l) < k else 'YES')
if len(l) < k:
	exit()
for i in range(k):
	print(t.index(l.pop()) + 1, end=' ')


(n, k) = map(int, input().split())
grades = list(map(int, input().split()))
grades_set = set()
grades_list = list()
for (i, g) in enumerate(grades):
	if g not in grades_set:
		grades_set.add(g)
		grades_list.append((i, g))
if k > len(grades_set):
	print('NO')
else:
	print('YES')
	res = map(lambda x: x[0] + 1, grades_list[:k])
	print(' '.join(map(str, res)))


(n, k) = map(int, input().split())
ranks = list(map(int, input().split()))
hashRanks = {}
for i in range(len(ranks)):
	if ranks[i] in hashRanks.keys():
		hashRanks[ranks[i]] = i + 1
	else:
		hashRanks[ranks[i]] = i + 1
ranks = set(ranks)
if len(ranks) >= k:
	print('YES')
	indices = []
	for i in ranks:
		indices.append(hashRanks[i])
	for i in range(k):
		print(indices[i], end=' ')
else:
	print('NO')