import java.util.*;
import java.io.*;
public class Main
{
    static class Pair
    {
        int f,s;
        Pair(int f,int s)
        {
            this.f=f;
            this.s=s;
        }
    }
    static class comp implements Comparator<Pair>
    {
        public int compare(Pair p1,Pair p2)
        {
            return p1.s-p2.s;
        }
    }
    public static void main(String args[])throws Exception
    {
        BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
        PrintWriter pw=new PrintWriter(System.out);
       // int t=Integer.parseInt(br.readLine());
    //    while(t-->0)
     //   {
            //int n=Integer.parseInt(br.readLine());
            
            String str[]=br.readLine().split(" ");
            int n=Integer.parseInt(str[0]);
            int m=Integer.parseInt(str[1]);
            int k=Integer.parseInt(str[2]);
            //int n=Integer.parseInt(str[2]);
            
            int arr[][]=new int[n][3];
            for(int i=0;i<n;i++)
            {
                str=br.readLine().split(" ");
                arr[i][0]=Integer.parseInt(str[0]);
                arr[i][1]=Integer.parseInt(str[1]);
                arr[i][2]=Integer.parseInt(str[2]);
            }
            int ac=0,bc=0;
            for(int i=0;i<n;i++)
            {
                if(arr[i][1]==1)
                ac++;
                if(arr[i][2]==1)
                bc++;
            }
            if(ac<k||bc<k)
            pw.println(-1);
            else
            {
                ArrayList<Pair> ab=new ArrayList<>();
                ArrayList<Pair> a=new ArrayList<>();
                ArrayList<Pair> b=new ArrayList<>();
                ArrayList<Pair> c=new ArrayList<>();
                for(int i=0;i<n;i++)
                {
                    if(arr[i][1]==1&&arr[i][2]==1)
                    ab.add(new Pair(i+1,arr[i][0]));
                    else if(arr[i][1]==1)
                    a.add(new Pair(i+1,arr[i][0]));
                    else if(arr[i][2]==1)
                    b.add(new Pair(i+1,arr[i][0]));
                    else
                    c.add(new Pair(i+1,arr[i][0]));
                }
                Collections.sort(ab,new comp());
                Collections.sort(b,new comp());
                Collections.sort(a,new comp());
                Collections.sort(c,new comp());
                ArrayList<Integer> books=new ArrayList<>();
                long ans=0;
                if(a.size()==0||b.size()==0)
                {
                    for(int j=0;j<Math.min(m,k);j++)
                    {
                        ans=ans+ab.get(j).s;
                        books.add(ab.get(j).f);
                    }
                    m-=k;
                    if(m>0)
                    {
                        ArrayList<Pair> nw=new ArrayList<>();
                        for(int j=k;j<ab.size();j++)
                        nw.add(ab.get(j));
                        for(int i=0;i<a.size();i++)
                        nw.add(a.get(i));
                        for(int i=0;i<b.size();i++)
                        nw.add(b.get(i));
                        for(int i=0;i<c.size();i++)
                        nw.add(c.get(i));
                        Collections.sort(nw,new comp());
                        for(int i=0;i<m;i++)
                        {
                            ans=ans+nw.get(i).s;
                            books.add(nw.get(i).f);
                        }
                    }
                }
                else
                {
                    ac=k;
                    bc=k;
                    int i=0,j=0,p=0;
                    while(i<ab.size()&&j<a.size()&&p<b.size()&&ac>0&&bc>0)
                    {
                        if(a.get(j).s+b.get(p).s<ab.get(i).s&&m>1)
                        {
                            ac--;
                            bc--;
                            ans=ans+a.get(j).s+b.get(p).s;
                            books.add(a.get(j).f);
                            books.add(b.get(p).f);
                            j++;
                            p++;
                            m-=2;
                        }
                        else
                        {
                            ac--;
                            bc--;
                            ans=ans+ab.get(i).s;
                            books.add(ab.get(i).f);
                            i++;
                            m--;
                        }
                    }
                    //if(i==ab.size())
                    //{
                        while(j<a.size()&&p<b.size()&&ac>0&&bc>0&&m>1)
                        {
                            ac--;
                            bc--;
                            ans=ans+a.get(j).s+b.get(p).s;
                            books.add(a.get(j).f);
                            books.add(b.get(p).f);
                            j++;
                            p++;
                            m-=2;
                        }
                    //}
                //    else
                 //   {
                        while(i<ab.size()&&ac>0&&bc>0&&m>0)
                        {
                            ac--;
                            bc--;
                            ans=ans+ab.get(i).s;
                            books.add(ab.get(i).f);
                            i++;
                            m--;
                        }
                   // }
                    if(m>0)
                    {
                        
                        ArrayList<Pair> nw=new ArrayList<>();
                        for(;i<ab.size();i++)
                        nw.add(ab.get(i));
                        for(;j<a.size();j++)
                        nw.add(a.get(j));
                        for(;p<b.size();p++)
                        nw.add(b.get(p));
                        for(i=0;i<c.size();i++)
                        nw.add(c.get(i));
                        Collections.sort(nw,new comp());
                        for(i=0;i<m;i++)
                        {
                            ans=ans+nw.get(i).s;
                            books.add(nw.get(i).f);
                        }
                    }
                }
                if(ac<=0&&bc<=0)
                {
                    pw.println(ans);
                    for(int i=0;i<books.size();i++)
                    pw.print(books.get(i)+" ");
                }
                else
                pw.println(-1);
            }
      //  }
        pw.flush();
        pw.close();
    }
}