#include #include using namespace std; using mint = atcoder::modint; int main() { int n, b, q, l, m, r; cin >> n >> b >> q; mint::set_mod(b); atcoder::fenwick_tree f(n + 1); while (cin >> l >> m >> r) { f.add(l - 1, 1); f.add(r, -1); mint x = f.sum(0, m); cout << (x + 1).val() << ' ' << (mint(3).pow(x.val() - 1) * (x * x + 3 * x + 3)).val() << ' ' << mint(3).pow(x.val()).val() << '\n'; } }