This documentation is automatically generated by online-judge-tools/verification-helper
View the Project on GitHub SSRS-cp/cp_library
#include "other/monoids/linear.hpp"
#pragma once struct linear{ long long a, b; linear(){ a = 1; b = 0; } linear(int a, int b): a(a), b(b){ } }; linear composite(linear A, linear B){ return linear(A.a * B.a % MOD, (A.b * B.a + B.b) % MOD); } int value(linear A, int x){ return (A.a * x + A.b) % MOD; }
#line 2 "other/monoids/linear.hpp" struct linear{ long long a, b; linear(){ a = 1; b = 0; } linear(int a, int b): a(a), b(b){ } }; linear composite(linear A, linear B){ return linear(A.a * B.a % MOD, (A.b * B.a + B.b) % MOD); } int value(linear A, int x){ return (A.a * x + A.b) % MOD; }