#include using namespace std; int main(){ ios_base::sync_with_stdio(false); cin.tie(nullptr); string s; cin >> s; if(s.at(0) == 'A'){ int N,Q; cin >> N >> Q; vector A(N); for(auto &a : A) cin >> a; for(int i=0; i S(N); for(int i=1; i<=N; i++){ int d = A.at(i)-A.at(i-1); low = min(low,d); string s = ""; while(d) s += d%2+'0',d /= 2; reverse(s.begin(),s.end()); if(s.size() == 0) s = '0'; S.at(i-1) = s,sum += s.size(); } if(sum > Q) for(int i=1,first=1; i<=N; i++){ if(i == 1) sum = 0; int d = A.at(i)-A.at(i-1); if(d == low && first){ first = 0; string s = ""; while(d) s += d%2+'0',d /= 2; reverse(s.begin(),s.end()); if(s.size() == 0) s = '0'; s.insert(s.begin(),'0'); S.at(i-1) = s,sum += s.size(); } else{ d -= low; string s = ""; while(d) s += d%2+'0',d /= 2; reverse(s.begin(),s.end()); if(s.size() == 0) s = '0'; S.at(i-1) = s,sum += s.size(); } } assert(sum <= Q); cout << S.size() << "\n"; for(auto s : S) cout << s << "\n"; } else{ int N,Q,K; cin >> N >> Q >> K; vector S(K); int low = 1; for(auto &s : S) cin >> s; vector A(N); int now = 0; for(int i=0; i 1) low = d+1,A.at(i) = now; else now += d,A.at(i) = now; } for(int i=0; i