import java.util.*; public class greetings_font { public static void main(String[] args) { new greetings_font(new Scanner(System.in)); } // Tests if element i is in set mask boolean in(int i, int mask) { return ((1< 0; } public greetings_font(Scanner in) { int N = in.nextInt(); int K = in.nextInt(); Card[] vs = new Card[N]; for (int i=0; i widths = new TreeSet<>(); TreeSet heights = new TreeSet<>(); for (Card v : vs) { widths.add(v.w); heights.add(v.h); } int M = 0; Envelope[] es = new Envelope[widths.size() * heights.size()]; for (int w : widths) for (int h : heights) es[M++] = new Envelope(w, h); // Table of the cheapest envelope cost to cover this mask long[] cheapest = new long[1<=0; mask--) { if (dp[mask] == Long.MAX_VALUE) continue; int cmask = ((1<0; ss=(ss-1)&cmask) if (cheapest[ss] < Long.MAX_VALUE) dp[mask | ss] = Math.min(dp[mask | ss], dp[mask] + cheapest[ss]); } System.out.println(dp[(1<