horses.cpp: In constructor 'mint::mint(int, bool)':
horses.cpp:10:21: warning: unused parameter 'B' [-Wunused-parameter]
10 | mint(int V=0, bool B=0) : v(V) {};
| ~~~~~^~~
horses.cpp: In function 'mint operator*(mint, mint)':
horses.cpp:12:27: warning: conversion from 'll' {aka 'long long int'} to 'int' may change value [-Wconversion]
12 | return mint((x.v * y.v) % MOD, x.b || y.b || x.v * y.v >= MOD);
| ~~~~~~~~~~~~^~~~~
horses.cpp: In function 'int init(int, int*, int*)':
horses.cpp:45:11: warning: conversion from 'll' {aka 'long long int'} to 'int' may change value [-Wconversion]
45 | st.init(N=n);
| ~^~
horses.cpp:48:25: warning: conversion from 'll' {aka 'long long int'} to 'int' may change value [-Wconversion]
48 | st[i] = st.a[0] = {X[i], X[i] * Y[i], 1, Y[i]};
| ~~~^
horses.cpp:48:33: warning: conversion from 'll' {aka 'long long int'} to 'int' may change value [-Wconversion]
48 | st[i] = st.a[0] = {X[i], X[i] * Y[i], 1, Y[i]};
| ~~~~~^~~~~~
horses.cpp:48:47: warning: conversion from 'll' {aka 'long long int'} to 'int' may change value [-Wconversion]
48 | st[i] = st.a[0] = {X[i], X[i] * Y[i], 1, Y[i]};
| ~~~^
horses.cpp: In function 'int updateX(int, int)':
horses.cpp:55:24: warning: conversion from 'll' {aka 'long long int'} to 'int' may change value [-Wconversion]
55 | st[i] = st.a[0] = {X[i], X[i] * Y[i], 1, Y[i]};
| ~~~^
horses.cpp:55:32: warning: conversion from 'll' {aka 'long long int'} to 'int' may change value [-Wconversion]
55 | st[i] = st.a[0] = {X[i], X[i] * Y[i], 1, Y[i]};
| ~~~~~^~~~~~
horses.cpp:55:46: warning: conversion from 'll' {aka 'long long int'} to 'int' may change value [-Wconversion]
55 | st[i] = st.a[0] = {X[i], X[i] * Y[i], 1, Y[i]};
| ~~~^
horses.cpp: In function 'int updateY(int, int)':
horses.cpp:61:24: warning: conversion from 'll' {aka 'long long int'} to 'int' may change value [-Wconversion]
61 | st[i] = st.a[0] = {X[i], X[i] * Y[i], 1, Y[i]};
| ~~~^
horses.cpp:61:32: warning: conversion from 'll' {aka 'long long int'} to 'int' may change value [-Wconversion]
61 | st[i] = st.a[0] = {X[i], X[i] * Y[i], 1, Y[i]};
| ~~~~~^~~~~~
horses.cpp:61:46: warning: conversion from 'll' {aka 'long long int'} to 'int' may change value [-Wconversion]
61 | st[i] = st.a[0] = {X[i], X[i] * Y[i], 1, Y[i]};
| ~~~^
horses.cpp: In instantiation of 'int SegmentTree<T>::operator()() [with T = std::array<mint, 4>]':
horses.cpp:50:12: required from here
horses.cpp:38:35: warning: conversion from 'll' {aka 'long long int'} to 'int' may change value [-Wconversion]
38 | int operator()(){ return a[1][1].v; }
| ~~~~~~~~^