{"code":"cntsols","name":"Số lượng nghiệm","description":"### Đếm số lượng nghiệm\r\nVào thẳng vấn đề, ta cần tìm số lượng nghiệm của bất phương trình $x^d + y^d + z^d \\equiv m \\ (\\mod n), \\ 0 \\le x, y, z \\le u$.\r\n\r\n#### Input\r\n - Dòng đầu tiên là số nguyên $T \\ (1 \\le T \\le 10)$ là số lượng bộ test.\r\n - $T$ dòng tiếp theo, mỗi dòng là bốn số nguyên $u, d, m, n$ $(0 \\le u, d \\le 10^9, 0 \\le m < n \\le 100)$\r\n\r\n#### Output\r\n - $T$ dòng là đáp án cho các test, lấy dư cho $10^9 + 7$.\r\n\r\n#### Examples\r\n!!! question \"Test\"\r\n    ???+ \"Input\"\r\n        ```\r\n        2\r\n        100 2020 2 9\r\n        7 4 3 50\r\n        ```\r\n    ??? success \"Output\"\r\n        ```\r\n        152694\r\n        26\r\n        ```","points":100.0,"partial":true,"time_limit":2.0,"memory_limit":262144,"short_circuit":false,"allowed_languages":[3,4,34,36,37,5,6,11,12,14,28,2,38,39,9,18,17,29,23,27,35,25,26,10,7,19,32,1,8,15,16,24,20,33,13,41,21,40],"is_public":true,"is_manually_managed":false,"permissions":{"can_edit":false}}