#include <climits> #include <iostream> #include <string> #include <vector> #include <algorithm> using namespace std; int main() { int m,n; cin >> m; vector<int> vi,vr; while (m--) { int a; cin>>a; vi.push_back(a); } cin>>n; while (n--) { int a;cin>>a; vr.push_back(a); } sort(vr.begin(),vr.end()); auto contain=[](int a, int b) { string sa=to_string(a); string sb=to_string(b); auto pos=sa.find(sb); if (pos!=string::npos) return true; return false; }; int cnt=0; int last=INT_MAX; vector<int> res; int pos=1; for (auto r:vr) { if (r==last) continue; last=r; int cnt=0; for (int idx=0; idx<vi.size();idx++) { if (contain(vi[idx], r)) { if (cnt==0) { res.push_back(r); res.push_back(cnt); } res.push_back(idx); res.push_back(vi[idx]); cnt++; } } if (cnt>0) { res[pos]=cnt; pos=pos+2+cnt*2; } } cout<<res.size()<<" "; for (auto i:res) cout<<i<<" "; return 0; } // 64 位输出请用 printf("%lld")