QOJ.ac
QOJ
ID | Problem | Submitter | Result | Time | Memory | Language | File size | Submit time | Judge time |
---|---|---|---|---|---|---|---|---|---|
#870621 | #8613. Cardinality | ucup-team112# | RE | 1973ms | 379264kb | C++23 | 11.3kb | 2025-01-25 17:04:52 | 2025-01-25 17:04:53 |
Judging History
answer
//#define _GLIBCXX_DEBUG
//#pragma GCC target("avx2")
//#pragma GCC optimize("O3")
//#pragma GCC optimize("unroll-loops")
#include<bits/stdc++.h>
using namespace std;
#ifdef LOCAL
#include <debug_print.hpp>
#define OUT(...) debug_print::multi_print(#__VA_ARGS__, __VA_ARGS__)
#else
#define OUT(...) (static_cast<void>(0))
#endif
//#define endl '\n'
#define lfs cout<<fixed<<setprecision(15)
#define ALL(a) (a).begin(),(a).end()
#define ALLR(a) (a).rbegin(),(a).rend()
#define UNIQUE(a) (a).erase(unique((a).begin(),(a).end()),(a).end())
#define spa << " " <<
#define fi first
#define se second
#define MP make_pair
#define MT make_tuple
#define PB push_back
#define EB emplace_back
#define rep(i,n,m) for(ll i = (n); i < (ll)(m); i++)
#define rrep(i,n,m) for(ll i = (ll)(m) - 1; i >= (ll)(n); i--)
namespace template_tute{
using ll = long long;
using ld = long double;
const ll MOD1 = 1e9+7;
const ll MOD9 = 998244353;
const ll INF = 4.1e18;
using P = pair<ll, ll>;
template<typename T> using PQ = priority_queue<T>;
template<typename T> using QP = priority_queue<T,vector<T>,greater<T>>;
template<typename T1, typename T2>bool chmin(T1 &a,T2 b){if(a>b){a=b;return true;}else return false;}
template<typename T1, typename T2>bool chmax(T1 &a,T2 b){if(a<b){a=b;return true;}else return false;}
ll median(ll a,ll b, ll c){return a+b+c-max<ll>({a,b,c})-min<ll>({a,b,c});}
void ans1(bool x){if(x) cout<<"Yes"<<endl;else cout<<"No"<<endl;}
void ans2(bool x){if(x) cout<<"YES"<<endl;else cout<<"NO"<<endl;}
void ans3(bool x){if(x) cout<<"Yay!"<<endl;else cout<<":("<<endl;}
template<typename T1,typename T2>void ans(bool x,T1 y,T2 z){if(x)cout<<y<<endl;else cout<<z<<endl;}
template<typename T1,typename T2,typename T3>void anss(T1 x,T2 y,T3 z){ans(x!=y,x,z);};
template<typename T>void debug(const T &v,ll h,ll w,string sv=" "){for(ll i=0;i<h;i++){cout<<v[i][0];for(ll j=1;j<w;j++)cout<<sv<<v[i][j];cout<<endl;}};
template<typename T>void debug(const T &v,ll n,string sv=" "){if(n!=0)cout<<v[0];for(ll i=1;i<n;i++)cout<<sv<<v[i];cout<<endl;};
template<typename T>void debug(const vector<T>&v){debug(v,v.size());}
template<typename T>void debug(const vector<vector<T>>&v){for(auto &vv:v)debug(vv,vv.size());}
template<typename T>void debug(stack<T> st){while(!st.empty()){cout<<st.top()<<" ";st.pop();}cout<<endl;}
template<typename T>void debug(queue<T> st){while(!st.empty()){cout<<st.front()<<" ";st.pop();}cout<<endl;}
template<typename T>void debug(deque<T> st){while(!st.empty()){cout<<st.front()<<" ";st.pop_front();}cout<<endl;}
template<typename T>void debug(PQ<T> st){while(!st.empty()){cout<<st.top()<<" ";st.pop();}cout<<endl;}
template<typename T>void debug(QP<T> st){while(!st.empty()){cout<<st.top()<<" ";st.pop();}cout<<endl;}
template<typename T>void debug(const set<T>&v){for(auto z:v)cout<<z<<" ";cout<<endl;}
template<typename T>void debug(const multiset<T>&v){for(auto z:v)cout<<z<<" ";cout<<endl;}
template<typename T,size_t size>void debug(const array<T, size> &a){for(auto z:a)cout<<z<<" ";cout<<endl;}
template<typename T,typename V>void debug(const map<T,V>&v){for(auto z:v)cout<<"["<<z.first<<"]="<<z.second<<",";cout<<endl;}
template<typename T>vector<vector<T>>vec(ll x, ll y, T w){vector<vector<T>>v(x,vector<T>(y,w));return v;}
vector<ll>dx={1,-1,0,0,1,1,-1,-1};vector<ll>dy={0,0,1,-1,1,-1,1,-1};
template<typename T>vector<T> make_v(size_t a,T b){return vector<T>(a,b);}
template<typename... Ts>auto make_v(size_t a,Ts... ts){return vector<decltype(make_v(ts...))>(a,make_v(ts...));}
template<typename T1, typename T2>ostream &operator<<(ostream &os, const pair<T1, T2>&p){return os << "(" << p.first << "," << p.second << ")";}
template<typename T>ostream &operator<<(ostream &os, const vector<T> &v){os<<"[";for(auto &z:v)os << z << ",";os<<"]"; return os;}
template<typename T>void rearrange(vector<int>&ord, vector<T>&v){
auto tmp = v;
for(int i=0;i<tmp.size();i++)v[i] = tmp[ord[i]];
}
template<typename Head, typename... Tail>void rearrange(vector<int>&ord,Head&& head, Tail&&... tail){
rearrange(ord, head);
rearrange(ord, tail...);
}
template<typename T> vector<int> ascend(const vector<T>&v){
vector<int>ord(v.size());iota(ord.begin(),ord.end(),0);
sort(ord.begin(),ord.end(),[&](int i,int j){return make_pair(v[i],i)<make_pair(v[j],j);});
return ord;
}
template<typename T> vector<int> descend(const vector<T>&v){
vector<int>ord(v.size());iota(ord.begin(),ord.end(),0);
sort(ord.begin(),ord.end(),[&](int i,int j){return make_pair(v[i],-i)>make_pair(v[j],-j);});
return ord;
}
template<typename T> vector<T> inv_perm(const vector<T>&ord){
vector<T>inv(ord.size());
for(int i=0;i<ord.size();i++)inv[ord[i]] = i;
return inv;
}
ll FLOOR(ll n,ll div){assert(div>0);return n>=0?n/div:(n-div+1)/div;}
ll CEIL(ll n,ll div){assert(div>0);return n>=0?(n+div-1)/div:n/div;}
ll digitsum(ll n){ll ret=0;while(n){ret+=n%10;n/=10;}return ret;}
ll modulo(ll n,ll d){return (n%d+d)%d;};
template<typename T>T min(const vector<T>&v){return *min_element(v.begin(),v.end());}
template<typename T>T max(const vector<T>&v){return *max_element(v.begin(),v.end());}
template<typename T>T acc(const vector<T>&v){return accumulate(v.begin(),v.end(),T(0));};
template<typename T>T reverse(const T &v){return T(v.rbegin(),v.rend());};
//mt19937 mt(chrono::steady_clock::now().time_since_epoch().count());
int popcount(ll x){return __builtin_popcountll(x);};
int poplow(ll x){return __builtin_ctzll(x);};
int pophigh(ll x){return 63 - __builtin_clzll(x);};
template<typename T>T poll(queue<T> &q){auto ret=q.front();q.pop();return ret;};
template<typename T>T poll(priority_queue<T> &q){auto ret=q.top();q.pop();return ret;};
template<typename T>T poll(QP<T> &q){auto ret=q.top();q.pop();return ret;};
template<typename T>T poll(stack<T> &s){auto ret=s.top();s.pop();return ret;};
ll MULT(ll x,ll y){if(LLONG_MAX/x<=y)return LLONG_MAX;return x*y;}
ll POW2(ll x, ll k){ll ret=1,mul=x;while(k){if(mul==LLONG_MAX)return LLONG_MAX;if(k&1)ret=MULT(ret,mul);mul=MULT(mul,mul);k>>=1;}return ret;}
ll POW(ll x, ll k){ll ret=1;for(int i=0;i<k;i++){if(LLONG_MAX/x<=ret)return LLONG_MAX;ret*=x;}return ret;}
std::ostream &operator<<(std::ostream &dest, __int128_t value) {
std::ostream::sentry s(dest);
if (s) {
__uint128_t tmp = value < 0 ? -value : value;
char buffer[128];
char *d = std::end(buffer);
do {
--d;
*d = "0123456789"[tmp % 10];
tmp /= 10;
} while (tmp != 0);
if (value < 0) {
--d;
*d = '-';
}
int len = std::end(buffer) - d;
if (dest.rdbuf()->sputn(d, len) != len) {
dest.setstate(std::ios_base::badbit);
}
}
return dest;
}
namespace converter{
int dict[500];
const string lower="abcdefghijklmnopqrstuvwxyz";
const string upper="ABCDEFGHIJKLMNOPQRSTUVWXYZ";
const string digit="0123456789";
const string digit1="123456789";
void regi_str(const string &t){
for(int i=0;i<t.size();i++){
dict[t[i]]=i;
}
}
void regi_int(const string &t){
for(int i=0;i<t.size();i++){
dict[i]=t[i];
}
}
vector<int>to_int(const string &s,const string &t){
regi_str(t);
vector<int>ret(s.size());
for(int i=0;i<s.size();i++){
ret[i]=dict[s[i]];
}
return ret;
}
vector<int>to_int(const string &s){
auto t=s;
sort(t.begin(),t.end());
t.erase(unique(t.begin(),t.end()),t.end());
return to_int(s,t);
}
vector<vector<int>>to_int(const vector<string>&s,const string &t){
regi_str(t);
vector<vector<int>>ret(s.size(),vector<int>(s[0].size()));
for(int i=0;i<s.size();i++){
for(int j=0;j<s[0].size();j++){
ret[i][j]=dict[s[i][j]];
}
}
return ret;
}
vector<vector<int>>to_int(const vector<string>&s){
string t;
for(int i=0;i<s.size();i++){
t+=s[i];
}
sort(t.begin(),t.end());t.erase(unique(t.begin(),t.end()),t.end());
return to_int(s,t);
}
string to_str(const vector<int>&s,const string &t){
regi_int(t);
string ret;
for(auto z:s)ret+=dict[z];
return ret;
}
vector<string> to_str(const vector<vector<int>>&s,const string &t){
regi_int(t);
vector<string>ret(s.size());
for(int i=0;i<s.size();i++){
for(auto z:s[i])ret[i]+=dict[z];
}
return ret;
}
}
template< typename T = int >
struct edge {
int to;
T cost;
int id;
edge():to(-1),id(-1){};
edge(int to, T cost = 1, int id = -1):to(to), cost(cost), id(id){}
operator int() const { return to; }
};
template<typename T>
using Graph = vector<vector<edge<T>>>;
template<typename T>
Graph<T>revgraph(const Graph<T> &g){
Graph<T>ret(g.size());
for(int i=0;i<g.size();i++){
for(auto e:g[i]){
int to = e.to;
e.to = i;
ret[to].push_back(e);
}
}
return ret;
}
template<typename T>
Graph<T> readGraph(int n,int m,int indexed=1,bool directed=false,bool weighted=false){
Graph<T> ret(n);
for(int es = 0; es < m; es++){
int u,v;
T w=1;
cin>>u>>v;u-=indexed,v-=indexed;
if(weighted)cin>>w;
ret[u].emplace_back(v,w,es);
if(!directed)ret[v].emplace_back(u,w,es);
}
return ret;
}
template<typename T>
Graph<T> readParent(int n,int indexed=1,bool directed=true){
Graph<T>ret(n);
for(int i=1;i<n;i++){
int p;cin>>p;
p-=indexed;
ret[p].emplace_back(i);
if(!directed)ret[i].emplace_back(p);
}
return ret;
}
}
using namespace template_tute;
struct RandomNumberGenerator {
mt19937_64 mt;
RandomNumberGenerator() : mt(chrono::steady_clock::now().time_since_epoch().count()) {}
RandomNumberGenerator(int x) : mt(x){
cout<<"-----debug-----"<<endl;
}
ll operator()(ll a, ll b) { // [a, b)
uniform_int_distribution< ll > dist(a, b - 1);
return dist(mt);
}
ll operator()(ll b) { // [0, b)
return (*this)(0, b);
}
};
RandomNumberGenerator rng;
using B=bitset<12005>;
B dp[320005];
void solve(){
ll res=0,buf=0;
bool judge = true;
int n,q;cin>>n>>q;
vector<int>vidx(n+q,-1);
vector<int>x(n+q),y(n+q);
vector<int>used(n+q,-1);
int cnt=0;
int idx=0;
rep(i,n,n+q){
OUT(i);
cin>>x[i]>>y[i],x[i]--,y[i]--;
B ret;
auto dfs=[&](auto &&f,int v)->void {
if(v<n){
ret[v/4]=1;
return;
}
if(used[v]==i)return;
used[v]=i;
if(vidx[v]!=-1){
ret|=dp[vidx[v]];
return;
}
for(auto to:{x[v],y[v]}){
f(f,to);
}
};
dfs(dfs,i);
if(rng(0,2)){
vidx[i]=idx++;
dp[vidx[i]]=ret;
}
cout<<ret.count()*2<<endl;
cnt++;
if(cnt>=50){
cout.flush();
cnt=0;
}
}
cout.flush();
}
int main(){
cin.tie(nullptr);
ios_base::sync_with_stdio(false);
ll res=0,buf=0;
bool judge = true;
int T = 1;
//cin>>T;
while(T--){
solve();
}
return 0;
}
Details
Tip: Click on the bar to expand more detailed information
Test #1:
score: 100
Accepted
time: 0ms
memory: 3584kb
input:
4 5 1 2 2 3 5 6 6 7 4 7
output:
2 2 2 2 2
result:
ok
Test #2:
score: 0
Accepted
time: 1ms
memory: 3584kb
input:
10 100 9 2 9 10 5 1 6 6 13 14 3 4 3 8 8 4 16 5 14 2 8 13 14 9 6 17 15 11 24 7 24 20 1 26 14 27 6 18 14 14 15 11 14 25 8 11 7 30 3 11 12 3 6 19 29 36 30 9 38 6 2 28 12 40 33 25 20 42 17 30 23 1 34 41 41 36 7 18 39 45 32 4 30 21 46 26 12 39 42 42 46 48 31 54 16 37 42 4 27 34 10 35 11 12 1 35 51 23 17 ...
output:
4 2 4 2 4 2 4 4 4 4 4 4 4 6 6 6 6 6 4 2 6 6 6 2 4 4 4 6 4 6 6 6 6 6 4 4 6 6 4 6 6 4 6 4 6 6 6 4 6 6 4 4 4 6 4 2 6 6 6 6 6 6 6 6 6 6 4 6 6 6 6 4 6 4 2 6 6 6 6 6 6 6 6 6 6 4 2 6 6 4 6 6 4 6 4 6 6 6 6 6
result:
ok
Test #3:
score: 0
Accepted
time: 1ms
memory: 3584kb
input:
100 100 82 51 68 54 25 11 21 47 84 43 78 91 1 88 29 50 10 62 38 29 100 65 23 4 77 10 29 7 59 39 56 81 73 3 113 10 49 25 59 103 20 40 42 55 46 87 9 26 30 43 70 97 7 12 2 54 41 68 82 60 129 69 86 82 85 38 105 71 81 58 59 36 76 111 10 68 108 19 46 31 127 60 35 120 79 125 138 21 14 10 64 72 140 127 126 ...
output:
4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 6 4 4 4 4 4 4 4 4 4 4 6 4 4 6 4 4 6 4 6 4 6 8 6 6 4 4 8 6 6 6 4 6 8 4 4 6 4 8 6 10 8 4 8 8 4 8 6 6 8 4 4 6 4 6 10 4 10 6 6 6 6 8 6 4 4 6 10 6 6 6 4 4 10 8 4 8 8 6 4 8
result:
ok
Test #4:
score: 0
Accepted
time: 1ms
memory: 4096kb
input:
1000 1000 89 983 726 406 473 684 779 306 5 585 185 774 484 220 988 291 857 606 783 143 238 193 187 68 342 227 833 183 645 453 714 271 717 845 811 608 601 1013 101 716 563 790 500 449 962 863 255 787 236 837 560 412 788 681 487 992 311 884 389 251 199 927 942 1013 760 829 794 763 323 37 380 773 520 9...
output:
4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 6 4 4 4 4 4 4 4 4 4 4 4 4 6 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 6 4 4 4 6 6 4 4 4 4 4 4 4 4 4 6 4 6 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 6 4 4 4 4 4 4 6 4 4 4 6 4 4 4 4 4 4 4 4 4 4 8 6 4 4 8 4 4 4 4 6 4 4 4 4 4 6 4 4 4 4 4 4 4 4 4 4 6 4 4 4 4 4 6 6 4 4 6 ...
result:
ok
Test #5:
score: 0
Accepted
time: 17ms
memory: 12520kb
input:
1000 10000 609 422 750 225 479 328 513 581 935 302 164 982 913 807 716 785 888 102 867 698 397 957 743 229 35 252 222 697 614 421 442 266 748 44 698 740 556 746 748 637 259 372 752 867 503 605 483 380 586 608 977 584 603 335 347 202 514 622 343 167 700 845 370 673 597 499 314 38 647 976 784 644 721 ...
output:
4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 6 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 8 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 6 4 4 6 6 4 4 4 6 4 6 4 4 4 4 4 4 4 4 4 6 4 4 6 6 4 4 4 4 4 4 4 4 4 6 4 4 4 4 4 4 6 4 4 6 4 4 4 4 4 4 4 4 4 4 4 4 8 4 ...
result:
ok
Test #6:
score: 0
Accepted
time: 244ms
memory: 79784kb
input:
1000 100000 359 877 601 2 857 749 72 386 503 918 74 209 504 14 653 714 168 192 993 870 342 822 540 854 495 452 996 651 1005 932 898 279 105 83 778 924 517 326 326 16 747 863 73 501 190 386 211 416 330 72 857 269 543 485 344 637 111 611 449 942 426 739 585 459 100 269 1025 249 763 945 834 432 492 148...
output:
4 4 4 4 4 4 4 4 4 4 4 4 4 4 6 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 6 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 6 6 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 6 4 4 4 4 4 6 4 4 6 4 6 4 4 4 4 4 4 4 4 4 4 4 4 4 4 6 6 4 4 4 6 6 4 4 4 4 4 4 6 6 4 4 4 4 8 4 4 4 4 6 4 4 6 4 6 4 4 4 4 4 4 4 4 4 4 4 4 6 10 4 4 4 6 4 4 4 8 4 4...
result:
ok
Test #7:
score: 0
Accepted
time: 635ms
memory: 154204kb
input:
1000 200000 769 45 350 115 462 826 361 748 422 502 757 529 131 165 525 252 5 610 58 557 894 966 867 661 699 337 508 118 248 715 307 307 814 382 957 825 302 694 22 761 146 621 149 929 553 337 428 844 429 371 355 740 889 726 1017 938 31 269 906 259 173 45 852 442 41 87 179 284 866 1033 115 130 757 192...
output:
4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 2 4 4 4 4 4 4 4 4 4 4 4 6 4 4 4 4 4 4 6 4 4 4 4 4 4 4 4 4 4 4 4 4 4 6 4 4 4 4 4 4 4 10 6 8 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 6 4 4 4 8 6 6 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 6 4 4 4 6 4 4 4 4 4 6 4 6 4 4 4 4 4 4 4 6 4 4 4 4 4 4 4 4 6 4 6 8 4 4 4 4 4 4 4 6...
result:
ok
Test #8:
score: 0
Accepted
time: 1973ms
memory: 379264kb
input:
1000 500000 24 935 982 976 490 112 293 703 499 131 922 786 572 620 322 364 508 616 333 817 664 297 581 82 257 726 95 310 119 28 208 523 86 518 866 919 777 618 314 979 640 663 377 898 713 187 64 78 725 243 883 113 868 514 546 816 945 529 749 724 300 243 282 41 625 398 376 572 63 420 91 995 715 757 12...
output:
4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 6 4 6 4 4 4 4 4 4 4 4 4 4 8 4 4 4 4 4 4 4 4 4 4 4 4 4 8 6 4 4 4 4 6 8 4 6 4 4 4 4 4 6 4 4 4 6 4 4 4 4 4 4 4 4 4 4 4 4 6 4 4 4 4 4 6 4 4 4 4 2 4 4 6 4 4 4 4 4 6 4 6 4 10 4 4 6 4 6 4 4 4 6 4 4 6 4 4 4 4 4 4 4...
result:
ok
Test #9:
score: 0
Accepted
time: 495ms
memory: 154604kb
input:
10000 200000 7688 6283 9094 4308 3710 4803 6747 3889 4207 6061 2726 4542 8829 796 5675 7143 5638 863 245 5734 8825 5750 3987 8324 4975 5890 1970 7899 6849 4477 8086 4128 6329 4663 2284 2090 4982 2135 6163 5095 9030 9535 108 3964 1061 123 9528 6368 5864 6484 4099 7490 1920 9370 7465 708 3243 6206 630...
output:
4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 ...
result:
ok
Test #10:
score: 0
Accepted
time: 1638ms
memory: 378996kb
input:
10000 500000 4238 1173 7415 9171 1036 3929 5665 6622 4280 3162 7301 6823 2154 445 9185 5840 4198 6413 9036 2268 3659 2967 5637 8316 5780 1226 5938 9093 9100 3838 6007 5413 3857 8879 4906 5397 2021 3341 4985 1707 5864 6741 3197 2603 4317 2856 8878 1328 4816 5476 5198 5055 7852 2466 8879 2727 3989 261...
output:
4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 2 4 4 4 6 4 4 4 4 4 4 6 4 4 4 4 4 4 4 4 4 4 4 4 4 4 ...
result:
ok
Test #11:
score: -100
Runtime Error
input:
50000 200000 24283 15305 35392 28314 13315 5349 10170 7781 42876 13753 34175 21569 11942 14204 1993 45946 11509 11900 10043 9558 14244 9734 4580 37268 16648 39526 19899 24112 44057 13366 47918 7636 389 40237 4394 36992 8894 8771 29697 9897 30621 4081 42771 15449 31622 35612 12973 30560 7681 19828 38...
output:
4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 2 4 4 2 4 4 4 4 4 2 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 2 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 2 4 4 4 2 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 2 4 4 6 4 4 4 4 4 4 2 4 4 4 4 4 4 4 ...