horses.cpp: In member function 'void segment::upd(int, int)':
horses.cpp:22:55: warning: conversion from 'long long int' to 'int' may change value [-Wconversion]
22 | seg[i].zarb=1ll*seg[(i<<1)].zarb*seg[(i<<1)^1].zarb%mod;
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~
horses.cpp: In member function 'int segment::porszarb(int, int, int, int, int)':
horses.cpp:34:71: warning: conversion from 'long long int' to 'int' may change value [-Wconversion]
34 | return 1ll*porszarb((i<<1),l,m,tl,tr)*porszarb((i<<1)^1,m+1,r,tl,tr)%mod;
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~
horses.cpp: In member function 'int segment::porsmx(int, int, int, int, int)':
horses.cpp:36:17: warning: unused parameter 'i' [-Wunused-parameter]
36 | int porsmx(int i,int l,int r,int tl,int tr){
| ~~~~^
horses.cpp:36:23: warning: unused parameter 'l' [-Wunused-parameter]
36 | int porsmx(int i,int l,int r,int tl,int tr){
| ~~~~^
horses.cpp:36:29: warning: unused parameter 'r' [-Wunused-parameter]
36 | int porsmx(int i,int l,int r,int tl,int tr){
| ~~~~^
horses.cpp:36:42: warning: unused parameter 'tr' [-Wunused-parameter]
36 | int porsmx(int i,int l,int r,int tl,int tr){
| ~~~~^~
horses.cpp: In function 'int calc()':
horses.cpp:74:9: warning: conversion from 'long long int' to 'int' may change value [-Wconversion]
74 | return mx;
| ^~