from collections import defaultdict as dd
import sys
input=sys.stdin.readline
#n=int(input())
n,m,kk=map(int,input().split())
l=[]
ans=0
for i in range(n):
    time,a,b=map(int,input().split())
    l.append((time,a,b,i+1))
l.sort()
la=[]
lb=[]
do=[]
no=[]
for i in l:
    time,a,b,ind=i
    if(a and b):
        do.append((time,ind))
    elif(a):
        la.append((time,ind))
    elif(b):
        lb.append((time,ind))
    else:
        no.append((time,ind))
i=0
j=0
k=0
ca=kk
cb=kk
res=[]
while m and ca and cb:
    if(i<len(la)):
        if(j<len(lb)):
            if(k<len(do)):
                if(la[i][0]+lb[j][0]<=do[k][0] and m>=2):
                    ans+=la[i][0]
                    ans+=lb[j][0]
                    res.append(la[i][1])
                    res.append(lb[j][1])
                    i+=1
                    j+=1
                    ca-=1
                    cb-=1
                    m-=2
                else:
                    ans+=do[k][0]
                    res.append(do[k][1])
                    k+=1
                    ca-=1
                    cb-=1
                    m-=1
            else:
                if(m>=2):
                    res.append(la[i][1])
                    res.append(lb[j][1])
                    ans+=la[i][0]
                    ans+=lb[j][0]
                    i+=1
                    j+=1
                    ca-=1
                    cb-=1
                    m-=2
                else:
                    break
        else:
            if(k<len(do)):
                ans+=do[k][0]
                res.append(do[k][1])
                k+=1
                ca-=1
                cb-=1
                m-=1
            else:
                break
    else:
        if(k<len(do)):
            ans+=do[k][0]
            res.append(do[k][1])
            k+=1
            ca-=1
            cb-=1
            m-=1
        else:
            break
if(ca):
    while m and ca and i<len(la) and k<len(do):
        if(la[i][0]<=do[k][0]):
            ans+=la[i][0]
            res.append(la[i][1])
            i+=1
            ca-=1
            m-=1
        else:
            ans+=do[k][0]
            res.append(do[k][1])
            k+=1
            ca-=1
            m-=1
    while ca and m and i<len(la):
        ans+=la[i][0]
        res.append(la[i][1])
        i+=1
        ca-=1
        m-=1
    while ca and m and k<len(do):
        ans+=do[k][0]
        res.append(do[k][1])
        k+=1
        ca-=1
        m-=1
elif(cb):
    i=j
    la=lb
    ca=cb
    while ca and m and i<len(la) and k<len(do):
        if(la[i][0]<=do[k][0]):
            ans+=la[i][0]
            res.append(la[i][1])
            i+=1
            ca-=1
            m-=1
        else:
            ans+=do[k][0]
            res.append(do[k][1])
            k+=1
            ca-=1
            m-=1
    while ca and m and i<len(la):
        ans+=la[i][0]
        res.append(la[i][1])
        i+=1
        ca-=1
        m-=1
    while ca and m and k<len(do):
        ans+=do[k][0]
        res.append(do[k][1])
        k+=1
        ca-=1
        m-=1
 
if(ca or cb):
    print(-1)
else:
    for ii in no:
        do.append(ii)
    do.sort()
    while m:
        if(i<len(la)):
            if(j<len(lb)):
                if(k<len(do)):
                    if(la[i][0]+lb[j][0]<=do[k][0] and m>=2):
                        ans+=la[i][0]
                        ans+=lb[j][0]
                        res.append(la[i][1])
                        res.append(lb[j][1])
                        i+=1
                        j+=1
                        ca-=1
                        cb-=1
                        m-=2
                    else:
                        ans+=do[k][0]
                        res.append(do[k][1])
                        k+=1
                        ca-=1
                        cb-=1
                        m-=1
                else:
                    if(m>=2):
                        res.append(la[i][1])
                        res.append(lb[j][1])
                        ans+=la[i][0]
                        ans+=lb[j][0]
                        i+=1
                        j+=1
                        ca-=1
                        cb-=1
                        m-=2
                    else:
                        break
            else:
                if(k<len(do)):
                    ans+=do[k][0]
                    res.append(do[k][1])
                    k+=1
                    ca-=1
                    cb-=1
                    m-=1
                else:
                    break
        else:
            if(k<len(do)):
                ans+=do[k][0]
                res.append(do[k][1])
                k+=1
                ca-=1
                cb-=1
                m-=1
            else:
                break
    if(i<len(la) and k<len(do)):
        while m and i<len(la) and k<len(do):
            if(la[i][0]<=do[k][0]):
                ans+=la[i][0]
                res.append(la[i][1])
                i+=1
                ca-=1
                m-=1
            else:
                ans+=do[k][0]
                res.append(do[k][1])
                k+=1
                ca-=1
                m-=1
        while m and i<len(la):
            ans+=la[i][0]
            res.append(la[i][1])
            i+=1
            ca-=1
            m-=1
        while m and k<len(do):
            ans+=do[k][0]
            res.append(do[k][1])
            k+=1
            ca-=1
            m-=1
    elif(j<len(lb) and k<len(do)):
        i=j
        la=lb
        ca=cb
        while m and i<len(la) and k<len(do):
            if(la[i][0]<=do[k][0]):
                ans+=la[i][0]
                res.append(la[i][1])
                i+=1
                ca-=1
                m-=1
            else:
                ans+=do[k][0]
                res.append(do[k][1])
                k+=1
                ca-=1
                m-=1
        while m and i<len(la):
            ans+=la[i][0]
            res.append(la[i][1])
            i+=1
            ca-=1
            m-=1
        while m and k<len(do):
            ans+=do[k][0]
            res.append(do[k][1])
            k+=1
            ca-=1
            m-=1
    elif(j<len(la) and j<len(lb)):
        k=j
        do=lb
        
        while m and i<len(la) and k<len(do):
            if(la[i][0]<=do[k][0]):
                ans+=la[i][0]
                res.append(la[i][1])
                i+=1
                ca-=1
                m-=1
            else:
                ans+=do[k][0]
                res.append(do[k][1])
                k+=1
                ca-=1
                m-=1
        while m and i<len(la):
            ans+=la[i][0]
            res.append(la[i][1])
            i+=1
            ca-=1
            m-=1
        while m and k<len(do):
            ans+=do[k][0]
            res.append(do[k][1])
            k+=1
            ca-=1
            m-=1
    else:
        while m and i<len(la):
            ans+=la[i][0]
            res.append(la[i][1])
            m-=1
        while m and j<len(lb):
            ans+=lb[j][0]
            res.append(lb[j][1])
            m-=1
        while m and k<len(do):
            ans+=do[k][0]
            res.append(do[k][1])
            m-=1
            
        
    if(m):
        print(-1)
    else:
        print(ans)
        print(*res)
        
        
'''
d=0
do=[]
ka=k
kb=k
ans=0
ca=0
cb=0
cou=0
print(l)
for i in range(n):
    
    if(a and b):
        do.append(time)
        cou+=1
        ca+=1
        cb+=1
        
    elif(a and ka):
        ans+=time
        ka-=1
        ca+=1
    elif(b and kb):
        ans+=time
        kb-=1
        cb+=1
    if((ca+cb+cou)==(2*k)):
        break
'''
#print(ans+sum(do))