# ゆーさんは自分の健康増進のために「元気度」を記録してくれるロボット1と # 合計睡眠時間を記録してくれるロボット2を購入した # それぞれができる記録を時間1から時間Nまでさせた # 長さNの正整数列Aと、正整数Kが与えられる # これらはロボット1が時間iの時のゆーさんの元気度はA_iであったことを記録し、 # ロボット2がゆーさんの合計睡眠時間がKであったことを記録していたことを表している # ゆーさんは元気度がある一定の値以下である時間では寝ていて、 # そうでない時間では起きていたことがわかっている # 2以上N以下の整数kのうち、時間kでは起きていて時間k-1では寝ているものを全て昇順に出力せよ # # 2 <= K <= N <= 100000 # 1 <= A_i <= 10^9 # 入力はすべて整数 # j以下の元気度では寝ているものとしたとき、A_1 <= j # 矛盾した入力は与えられない import sys import itertools import time from math import radians, sin, cos, tan, sqrt from collections import deque def input(): return sys.stdin.readline().replace('\n','') sys.setrecursionlimit(1000000) md1 = 998244353 md2 = 10 ** 9 + 7 N, K = map(int, input().split()) A = list(map(int, input().split())) dct = {} for i in range(0, N): if A[i] not in dct: dct[A[i]] = [] dct[A[i]].append(i) explist = [] for i in range(0, N): explist.append(True) keylist = list(dct.keys()) keylist.sort() sm = 0 for i in range(0, len(keylist)): for j in range(0, len(dct[keylist[i]])): explist[dct[keylist[i]][j]] = False sm += len(dct[keylist[i]]) if sm == K: break ans = [] for i in range(1, N): if (not explist[i-1]) and explist[i]: ans.append(i+1) print(len(ans)) print(' '.join(map(str, ans)))