scrivener.cpp: In member function 'void segtree::build(node*&, int, int)':
scrivener.cpp:27:15: warning: suggest parentheses around '+' inside '>>' [-Wparentheses]
27 | int mid = l + r >> 1;
| ~~^~~
scrivener.cpp: In member function 'node* segtree::modify(node*, int, int, int, char)':
scrivener.cpp:40:15: warning: suggest parentheses around '+' inside '>>' [-Wparentheses]
40 | int mid = l + r >> 1;
| ~~^~~
scrivener.cpp: In member function 'char segtree::get(node*, int, int, int)':
scrivener.cpp:48:15: warning: suggest parentheses around '+' inside '>>' [-Wparentheses]
48 | int mid = l + r >> 1;
| ~~^~~
scrivener.cpp: In function 'void TypeLetter(char)':
scrivener.cpp:62:4: warning: operation on 'n' may be undefined [-Wsequence-point]
62 | s[++n] = Tree.modify(s[n - 1], 0, N - 1, s[n - 1]->cnt, L);
| ^~~
scrivener.cpp:62:4: warning: operation on 'n' may be undefined [-Wsequence-point]
scrivener.cpp:62:4: warning: operation on 'n' may be undefined [-Wsequence-point]
scrivener.cpp:62:4: warning: operation on 'n' may be undefined [-Wsequence-point]