Esperta di erba#11194

Esperta di erba

1 secondo
128 megabyte
Molto difficile

Cercando di controllare meglio i percorsi di pascolo delle sue mucche, l'agricoltore John ha tracciato in tutta la sua fattoria delle strade a senso unico per le mucche. La fattoria è composta da campi, numerati da a , e ogni strada a senso unico collega una coppia di campi. Ad esempio, se una strada va dal campo al campo , le mucche possono muoversi da a , ma non da a .

Bessie, come tutti sappiamo, ama mangiare l'erba nel maggior numero possibile di campi. All'inizio della giornata si trova sempre nel campo e segue un percorso che, alla fine della giornata, la riporta nel campo . Vuole massimizzare il numero di campi distinti che visita lungo il percorso, poiché in ognuno di essi può mangiare l'erba. Se visita lo stesso campo più volte, l'erba viene conteggiata una sola volta.

Come si può immaginare, Bessie non è molto soddisfatta della restrizione sul senso unico delle strade dell'agricoltore John, poiché essa limita il numero di campi distinti che può visitare in un giorno. Vuole sapere quanta erba potrà mangiare se le venisse permesso di infrangere le regole e percorrere al massimo una strada nella direzione sbagliata.

Determina il numero massimo di campi distinti che Bessie può visitare seguendo un percorso che inizia e termina nel campo , se le è permesso percorrere al massimo una strada nella direzione sbagliata. Durante l'intero viaggio, Bessie può muoversi nella direzione sbagliata non più di una volta. In particolare, non può percorrere due volte la stessa strada in direzione inversa.

Input

La prima riga contiene due numeri: e m~(1 \le n, m \le 10^5), dove — è il numero di campi, e — è il numero di strade a senso unico.

Le successive righe descrivono le strade a senso unico. Ogni riga contiene due numeri distinti di campi e , che indicano che le mucche possono muoversi dal campo al campo . La stessa strada non compare più di una volta nei dati di input.

Output

Stampa un singolo numero intero — il numero massimo di campi distinti che Bessie può visitare lungo un percorso che inizia e termina nel campo , se le è permesso percorrere al massimo una strada nella direzione sbagliata.

Esempi

Bessie può visitare i campi 1, 2, 4, 7, 2, 5, 3 e , percorrendo in direzione inversa la strada tra i campi e . Tuttavia, una volta arrivata al campo , non potrà raggiungere il campo senza percorrere un'altra strada in direzione inversa.

v---3-->6
7   |\  |
^\  v \ |
| \  1  |
|  |   v
|   v   5
4<--2---^

Esempio 1

Loading
Loading