Usmjeri
Μας δίνεται ένα δέντρο1 με τους κόμβους να συμβολίζονται με διαφορετικούς θετικούς ακέραιους από το 1 έως το . Επιπλέον, μας δίνονται ζεύγη κόμβων από το δέντρο με τη μορφή .
Πρέπει να κατευθύνουμε κάθε ακμή του δέντρου έτσι ώστε για κάθε δεδομένο ζεύγος κόμβων να υπάρχει μια διαδρομή από το στο ή από το έως το . Πόσοι διαφορετικοί τρόποι υπάρχουν για να το πετύχετε αυτό;
Εφόσον η λύση μπορεί να είναι αρκετά μεγάλη, προσδιορίστε την στη μορφή υπολοίπου ακέραιας διαίρεσης με το (modulo ).
Είσοδος
Η πρώτη γραμμή εισόδου περιέχει τους θετικούς ακέραιους αριθμούς και , τον αριθμό των κόμβων στο δέντρο και τον αριθμό των δεδομένων ζευγών κόμβων, αντίστοιχα.
Κάθε μία από τις ακόλουθες γραμμές περιέχει δύο θετικούς ακέραιους αριθμούς, με τις ετικέτες των κόμβων να συνδέονται με μια ακμή.
Η -οστή από τις ακόλουθες γραμμές περιέχει δύο διαφορετικούς θετικούς ακέραιους αριθμούς και , τις ετικέτες των κόμβων από το -οστό ζεύγος κόμβων. Τα ζεύγη κόμβων θα είναι αμοιβαία διαφορετικά.
Έξοδος
Πρέπει να τυπώσετε μια ενιαία γραμμή που να περιέχει τον συνολικό αριθμό διαφορετικών τρόπων για να κατευθύνετε τις ακμές του δέντρου που ικανοποιούν την απαίτηση που τέθηκε στην αρχή, με στη μορφή υπολοίπου ακέραιας διαίρεσης με το (modulo ).
Βαθμολογία
Σε περιπτώσεις δοκιμής αξίας 20% των συνολικών πόντων, το δεδομένο δέντρο θα είναι μια αλυσίδα. Με άλλα λόγια, ο κόμβος θα συνδεθεί με ένα άκρο στον κόμβο για κάθε .
Σε πρόσθετες περιπτώσεις δοκιμών αξίας 40% των συνολικών πόντων, θα ισχύει .
Παραδείγματα
input
4 1
1 2
2 3
3 4
2 4
output
4
input
7 2
1 2
1 3
4 2
2 5
6 5
5 7
1 7
2 6
output
8
input
4 3
1 2
1 3
1 4
2 3
2 4
3 4
output
0
Ένα δέντρο είναι ένα γράφημα που αποτελείται από κόμβους και ακμές τέτοιες ώστε να υπάρχει μια διαδρομή από κάθε κόμβο σε έναν άλλο κόμβο.
Comments