#!/usr/bin/env python3

def solve(n, m, k, A):
    if k % m or not k: return "impossible"
    k //= m
    p = sorted((A[i]<<20) | i for i in range(n))
    top = [x & 0xFFFFF for x in reversed(p[n-k:])]
    bot = [x & 0xFFFFF for x in p[:n-k]]
    p = []
    score = 0
    tot = 0
    while top or bot:
        if bot and score*m > A[bot[-1]]*tot:
            p.append(bot.pop()+1)
        elif top and score*m <= A[top[-1]]*tot:
            p.append(top.pop()+1)
            score += 1
        else:
            return "impossible"
        tot += 1
    return ' '.join(map(str, p))

(n, m, k) = map(int, input().split())
A = list(map(int, input().split()))
print(solve(n, m, k, A))
