Problem hidden
|This problem was hidden by Editorial Board member probably because it has incorrect language|version or invalid test data, or description of the problem is not clear.|

ML2_C - Mecz koszykówki

Mecz koszykówki składa się z czterech kwart. Podczas ich trwania zawodnicy starają się zdobyć jak najwięcej punktów oddając celne rzuty do kosza. W zależności od rodzaju rzutu można zdobyć 1, 2 albo 3 punkty.

Pewna drużyna podczas kolejnych kwart zdobyła odpowiednio p1, p2, p3 i p4 punkty. Odpowiedz na pytanie, ile jest różnych sekwencji rzutów za 1, 2 lub 3 punkty, które odpowiadają podanemu przebiegowi meczu?

Wejście

W pierwszej linii wejścia znajduje się liczba zestawów danych t ∈ [1, 456976]. W kolejnych t liniach znajdują się zestawy danych.

Każdy zestaw danych składa się z czterech liczb całkowitych p1, p2, p3, p4 z przedziału [0, 25] odpowiadających liczbie punktów zdobytych w kolejnych kwartach.

Wyjście

Dla każdego zestawu danych należy w osobnej linii wypisać odpowiedź na pytanie, ile jest różnych sekwencji rzutów za 1, 2 lub 3 punkty, które odpowiadają podanemu przebiegowi meczu.

Ponieważ liczba sekwencji rzutów może być duża wystarczy, że wypiszesz jej resztę z dzielenia przez 1000000007.

Przykład

Wejście:

1
3 2 1 4

Wyjście:

56

Dodane przez:Maciej Boniecki
Data dodania:2019-07-17
Limit czasu wykonania programu:2s
Limit długości kodu źródłowego50000B
Limit pamięci:1536MB
Cluster: Cube (Intel G860)
Języki programowania:All except: GOSU
Pochodzenie:Mini Liga 2
© Spoj.com. All Rights Reserved. Spoj uses Sphere Engine™ © by Sphere Research Labs.