Vi viene fornito un elenco di n segmenti, dove ciascun segmento è rappresentato come e ha un costo associato . Avete inoltre a disposizione un segmento che dovete coprire.
Per coprire il segmento , è necessario selezionare un insieme di segmenti dall’elenco dato in modo che la loro unione includa il segmento . Tuttavia, selezionando il segmento i-esimo si sostiene un costo pari a .
Trovate il costo minimo necessario per coprire il segmento .
Input
La prima riga dell’input contiene gli interi n, L e R (1 ≤ n ≤ 100 000, 1 ≤ L ≤ R ≤ ), che rappresentano il numero di segmenti e il segmento di interesse.
Le successive n righe contengono tre interi , e (), che descrivono ciascun segmento e il suo costo associato.
Output
Il programma deve stampare un singolo intero: il costo minimo per coprire il segmento . Se è impossibile coprire , stampate -1.