Zgłaszanie | Wszystkie zgłoszenia | Najlepsze | Lista |
AL_25_09 - Nowy ogród króla Bajtolomeusza |
Bajtolomeusz postanowił upiększyć swój królewski ogród (o którym możesz przeczytać tutaj) i rozkazał w tym celu utworzyć na jego terenie staw.
Ogród ma kształt prostokąta i przecina go N ścieżek biegnących z południa na północ oraz M ścieżek biegnących z zachodu na wschód. Ścieżki w każdej z tych dwóch grup mają przyporządkowane kolejno numery, odpowiednio od 1 do N oraz od 1 do M. Nowy staw będzie miał kształt prostokąta, którego brzegi będą biegły wzdłuż czterech wybranych ścieżek.
Król bardzo lubi przechadzać się po ogrodzie i spacer zaczyna zawsze w południowo-zachodnim narożniku ogrodu (czyli tam, gdzie zaczynają się ścieżki o numerach 1) a kończy go w narożniku północno-wschodnim (czyli tam, gdzie spotykają się ścieżki o najwyższych numerach). Podczas spaceru król porusza się tylko na wschód lub na północ.
Nowy staw zmniejszy obszar, po którym może przechadzać się Bajtolomeusz. Król chciałby więc wiedzieć, na ile różnych sposobów, będzie mógł odbyć spacer po ogrodzie. Ponieważ liczba ta może być bardzo duża, Bajtolomeusza interesuje jedynie reszta z dzielenia jej przez 1000000007.
Wejście
W pierwszej linii liczba testów t (1 ≤ t ≤ 5).
Dla każdego testu dane zapisane są w dwóch kolejnych liniach.
W pierwszej - dwie liczby całkowite N i M (2 ≤ N,M ≤ 2·106) oznaczające odpowiednio liczbę ścieżek biegnących z południa na północ i liczbę ścieżek biegnących z zachodu na wschód.
W drugiej linii - dwie pary liczb całkowitych x1, y1 i x2, y2 oznaczających odpowiednio współrzędne skrzyżowań na południowo-zachodnim i pólnocno-wschodnim narożniku stawu (1 ≤ x1 < x2 ≤ N,1 ≤ y1 < y2 ≤ M).
Wyjście
Dla każdego testu, w osobnej linii liczba możliwych spacerów króla Bajtolomeusza modulo 1000000007.
Przykład
Wejście: 2
4 4
2 2 3 4
6 5
3 2 5 4 Wyjście:
14
66
Pomoc do przykładu:
Na rysunku przedstawiono wszystkie możliwości dla pierwszego testu.
Dodane przez: | Witold Długosz |
Data dodania: | 2015-11-05 |
Limit czasu wykonania programu: | 1s |
Limit długości kodu źródłowego | 50000B |
Limit pamięci: | 1536MB |
Cluster: | Cube (Intel G860) |
Języki programowania: | All except: ASM64 GOSU JS-MONKEY |