// @Sarievo, URL: https://yukicoder.me/problems/no/2140 #pragma GCC target("avx2") #pragma GCC optimize("O3","unroll-loops") #include using namespace std; // --- Library --- #if __has_include() #include using namespace atcoder; // using mint=modint998244353; using mint=modint1000000007; #endif // --- Type and Alias --- #define a first #define b second #include #include using namespace __gnu_pbds; // find_by_order() - kth largest (0-indexed) // order_of_key() - count(Si < k) template using indexed_set=tree,rb_tree_tag,tree_order_statistics_node_update>; template using indexed_multiset=tree,rb_tree_tag,tree_order_statistics_node_update>; template using v=vector; template using vv=v>; template using minheap=priority_queue,greater>; template using maxheap=priority_queue,less>; using ll=long long; using ld=long double; using vl=v; using vvl=vv; using pl=pair; using vp=v; // --- IO --- template istream&operator>>(istream&is, pair&p){is>>p.a>>p.b;return is;} template ostream&operator<<(ostream&os, pair&p){os< istream&operator>>(istream&is, v&a){for(auto&e:a)is>>e;return is;} template ostream&operator<<(ostream&os, v&a){for(auto&e:a)os< auto min(const T&a){return *min_element(all(a));} template auto max(const T&a){return *max_element(all(a));} template bool chmax(T&x,const U&y){return x bool chmin(T&x,const U&y){return x>y?x=y,1:0;} template inline T abs(const T&x){return (x<0?-x:x);} template inline T sqr(const T&x){return (x*x);} void yes(bool x){std::cout<<(x?"yes":"no")<> a; cout << a * 2 - 1 << endl; } signed main(){ Nyan; solve(); }