#include #include #include #include #include #include #include #include #include #include #include #include #define ll long long #define ld long double #define P pair #define lP pair #define ldP pair using namespace std; using namespace atcoder; //-------------1.型系--------------- //ll const INF = 2e18; //using mint = modint998244353; using mint = modint1000000007; //using mint = modint; //mint::set_mod(m); // main関数内で書く template using vc = vector; template using vvc = vc>; template using pq = priority_queue>;//大きい順 template using pq_g = priority_queue, greater>;//小さい順 //-------------2.配列系-------------- using vl = vc; using vvl = vvc; using vvvl = vvc; using vvvvl = vvc; using vs = vc; using vvs = vvc; using vb = vc; using vvb = vvc; using vvvb = vvc; using vld = vc; using vvld = vvc; using vvvld = vvc; using vmint = vc; using vvmint = vvc; using vvvmint = vvc; #define rep(i,x) for(ll i=0;iistream& operator>>(istream& i, vc& v) { rep(j, (ll)size(v))i >> v[j]; return i; } //--------3.コード短縮化--------- #define pb push_back #define eb emplace_back #define em emplace #define pob pop_back #define rrep(i,x) for(ll i=1;i<=x;i++) #define drep(i,x) for(ll i=x-1;i>=0;i--) #define nfor(i,s,n) for(ll i=s;i=n;i--)//s-1スタートでnまで落ちる #define all(x) begin(x), end(x) #define gall(x) begin(x), end(x), greater<>() void chmin(ll &a, ll b) { a = min(a, b); } void chmax(ll &a, ll b) { a = max(a, b); } #define YES cout<<"Yes"<T tousa_sum1(T l, T d, T r) {//初項,公差,末項 で総和を求める T wide = (r - l) / d + 1; return (l + r) * wide / 2; } templateT tousa_sum2(T a, T d, T n) {//初項,交差,項数 で総和を求める return (a * 2 + d * (n - 1)) * n / 2; } ll kousa_kousuu(ll l, ll r, ll d) {//初項,末項,交差 で等差数列の項数を求める return (r - l) / d + 1; } mint touhi_sum(mint a, mint r, ll n) {//初項,公比,項数で等比数列の総和を求める if (r == 1) { return a * n; } mint bunsi = a * (r.pow(n) - mint(1)); mint bunbo = r - 1; return bunsi / bunbo; } ll nc2(ll x) { return x * (x - 1) / 2; } ll nc3(ll x) { return x * (x - 1) * (x - 2) / 6; } ll pw(ll x, ll p) {ll res = 1;rep(i,p) res *= x;return res; } //-----------6.デバックや出力系------------------ void print(ld x) { printf("%.20Lf\n", x); } #define out(v) {cout<> n; string s = "Short"; out(s.substr(0,n)) return 0; }