int deep = 1, add; int cnt[220]; vector<string> ans;
boolcheck(string s){ if (s.length() == 0) returnfalse; if (s.length() == 1 && s[0] == '0') returntrue; if (s[0] == '0') returnfalse; for (int i = 0; s[i]; ++i) if (s[i] >= 'a' && s[i] <= 'z') returnfalse; returntrue; }
boolpos(string s){ char c = s[ s.length() - 1 ]; return (c >= '0' && c <= '9'); }
voidgao(){ if (check(s)) { ans.push_back(s); cnt[deep]++; } if (add) deep += add, add = 0; s.clear(); }
int maxx = 0, tem = 1; intmain(){
int enter = 0; while (~scanf("%c", &c)) { maxx += tem, tem = 0; if (c == ' ') { enter = 0; gao(); } elseif (c == '\n') { tem = 1; add++; if ((s.length() && !pos(s)) || s.length() == 0) { deep += add, add = 0; s.clear(); enter = 0; } else enter = 1; } else { if (enter && c >= 'a' && c <= 'z') gao(); s = s + c; enter = 0; }
}
gao(); if (ans.empty()) puts(""); for (int i = 0; i < ans.size(); ++i) cout << ans[i] << " \n"[i == ans.size() - 1]; for (int i = 1; i <= maxx; ++i) cout << cnt[i] << endl; return0; }
#include<bits/stdc++.h> usingnamespacestd; typedeflonglong ll; #define pb push_back #define pii pair<int, int> #define fi first #define se second constint maxn = 2e5 + 10;
ll fib[220] = {0, 1, 1}; ll n; int sum; vector<int>v; voidinit(){ for (int i = 2; i <= 50; ++i) { fib[i] = fib[i - 1] + fib[i - 2]; } }
voidcal(ll x){ while(x) { int index = lower_bound(fib, fib + 51, x) - fib; if(fib[index] != x) index--; if(index == 1) index++; v.pb(index); sum++; x -= fib[index]; } }
vector<pii> ans;
voidrun(){ cal(n); ans.clear(); ans.push_back({1, 3}); ans.push_back({2, 2}); int now = 4; for (int i = 0; i < v.size(); ++i) { ans.push_back({now, 201 - v[i]}); if (i == v.size() - 1) ans.push_back({now + 1, now + 1}); now += 2; } printf("%d\n", ans.size()); for (int i = 0; i < ans.size(); ++i) { printf("%d %d\n", ans[i].fi, ans[i].se); } }