foo.cc: In member function 'void segment_tree::pushcol(long long int, long long int, long long int)':
foo.cc:24:15: warning: suggest parentheses around '+' inside '>>' [-Wparentheses]
   int mid = l + r >> 1;
             ~~^~~
foo.cc: In member function 'void segment_tree::build(long long int, long long int, long long int)':
foo.cc:37:15: warning: suggest parentheses around '+' inside '>>' [-Wparentheses]
   int mid = l + r >> 1;
             ~~^~~
foo.cc: In member function 'long long int segment_tree::query(long long int, long long int, long long int, long long int, long long int)':
foo.cc:46:15: warning: suggest parentheses around '+' inside '>>' [-Wparentheses]
   int mid = l + r >> 1, res = 0;
             ~~^~~
foo.cc: In member function 'void segment_tree::modify(long long int, long long int, long long int, long long int, long long int, long long int)':
foo.cc:60:15: warning: suggest parentheses around '+' inside '>>' [-Wparentheses]
   int mid = l + r >> 1;
             ~~^~~
foo.cc: In function 'int main()':
foo.cc:68:7: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
  scanf("%lld %lld", &n, &q);
  ~~~~~^~~~~~~~~~~~~~~~~~~~~
foo.cc:73:8: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
   scanf("%lld %lld %lld", &op, &l, &r);
   ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
foo.cc:77:9: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
    scanf("%lld", &x);
    ~~~~~^~~~~~~~~~~~
foo.cc: In member function 'void segment_tree::build(long long int, long long int, long long int)':
foo.cc:34:9: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
    scanf("%lld", &sum[rt]);
    ~~~~~^~~~~~~~~~~~~~~~~~
   
  
    自豪的采用HydroJudge(https://github.com/hydro-dev/Hydro)进行评测。