Il criceto Harry vive in un'enorme gabbia per criceti. All'interno della gabbia ci sono sfere di plastica, collegate da tubi per criceti a senso unico di lunghezza diversa. In questo momento Harry si trova nella sfera , mentre il suo letto si trova nella sfera .
Harry è un criceto semplice, e i due emisferi del suo cervello non vanno molto d'accordo tra loro: ognuno ha in mente qualcosa di diverso. L'emisfero sinistro, solitamente attivo quando Harry corre nella ruota, vuole correre il più a lungo possibile. L'emisfero destro, che invece raramente è attivo, vuole andare a dormire il prima possibile. Insieme, gli emisferi guidano Harry attraverso il labirinto di tubi, decidendo in ogni sfera quale tubo in uscita seguire.
Prendere una decisione è molto faticoso, quindi dopo ogni decisione un emisfero ha bisogno di riposare un po', e non può prendere due decisioni di seguito. Per questo motivo gli emisferi scelgono il tubo a turno, e per primo muove l'emisfero sinistro. Partendo dalla sfera , l'emisfero sinistro sceglie un tubo che porta Harry in una certa sfera . Lì l'emisfero sinistro riposa, mentre l'emisfero destro sceglie il tubo in uscita successivo, e così via.
Per quanto possa sembrare strano, entrambi gli emisferi conoscono l'intera gabbia e possono pianificare in anticipo quanto vogliono. In quanto tempo Harry raggiungerà il suo letto, se entrambi gli emisferi agiscono in modo ottimale? È garantito che da ogni sfera parte almeno un tubo, tranne dalla sfera con il letto di Harry, da cui non parte alcun tubo (lì Harry può riposare tranquillamente). Nessun tubo collega una sfera a se stessa, ma tra due sfere possono esserci più tubi.
Nella prima riga sono dati quattro numeri interi: il numero di sfere di plastica n~(1 \le n \le 10^5), il numero di tubi m~(0 \le m \le 2 \cdot 10^5), e le sfere e t~(0 \le s, t < n), in cui si trovano Harry e il suo letto.
Ciascuna delle successive righe contiene tre numeri interi che descrivono un tubo: la sfera a_i~(0 \le a_i < n) in cui il tubo inizia, la sfera b_i~(0 \le b_i < n) in cui termina, e il tempo w_i~(1 \le w_i \le 10^4) necessario per percorrerlo. Ogni tubo può essere percorso solo in una direzione.
Stampate il tempo impiegato da Harry per raggiungere il suo letto, oppure la stringa infinity, se Harry è destinato a vagare per sempre attraverso i tubi.
Esempio 1
Esempio 2
Esempio 3
Esempio 4
Esempio 5