Énoncé

Tous les jours, Charlotte part de chez elle pour se rendre sur son lieu de travail, elle utilise une voiture électrique et dispose tous les matins de la même charge initiale.
Trouvant le trajet monotone, elle décide chaque matin d'emprunter une route différente.
Charlotte dispose d'une carte, et connait la charge de sa voiture en électricité.
Elle ne peut donc ni se perdre, ni tomber en panne avant d'arriver à destination.

L'objectif de ce problème est de déterminer, connaissant la carte des routes et l'autonomie du véhicule, pendant combien de jours Charlotte pourra emprunter un nouveau trajet de chez elle à son lieu de travail.
La carte routière est donnée sous la forme d'une matrice d'adjacence M de taille N*N (avec N <= 300) :


On supposera que la voiture de Charlotte consomme une unité électrique pour se rendre d'une intersection à l'autre.
On supposera aussi que Charlotte habite au croisement numéro 1 sur la carte et travaille au croisement numéro N.
Enfin, on supposera que si le trajet de Charlotte passe par son lieu de travail, elle s'arrête de conduire.

Entrée

La première ligne de l'entrée représente le nombre d'unités électriques dont dispose initialement la voiture de Charlotte chaque matin.
La seconde donne le nombre de croisements (N).
Enfin, les N suivantes donnent la matrice d'adjacence représentant la carte routière.

Sortie

La sortie sera constituée d'une seule ligne, donnant le nombre de jours pendant lesquels Charlotte pourra emprunter un nouveau trajet.

Exemples

Entrée Trajets possibles Sortie

Squelette CamlLight

Squelette OCaml