#include <bits/stdc++.h>
using namespace std;
struct Aho {
struct Node {
map<char,int> nxt;
int link=0;
vector<int> out;
};
vector<Node> t;
Aho(){ t.emplace_back(); }
void add(const string &s,int id){
int v=0;
for(char c:s){
if(!t[v].nxt.count(c)){
t[v].nxt[c]=t.size();
t.emplace_back();
}
v=t[v].nxt[c];
}
t[v].out.push_back(id);
}
void build(){
queue<int> q;
for(auto &p:t[0].nxt){
t[p.second].link=0;
q.push(p.second);
}
while(!q.empty()){
int v=q.front();q.pop();
for(auto &p:t[v].nxt){
char c=p.first; int u=p.second;
int j=t[v].link;
while(j&&!t[j].nxt.count(c)) j=t[j].link;
if(t[j].nxt.count(c)) j=t[j].nxt[c];
t[u].link=j;
for(int x:t[j].out) t[u].out.push_back(x);
q.push(u);
}
}
}
void search(const string &s,const vector<int> &L,vector<vector<int>> &res){
int v=0;
for(int i=0;i<(int)s.size();i++){
char c=s[i];
while(v&&!t[v].nxt.count(c)) v=t[v].link;
if(t[v].nxt.count(c)) v=t[v].nxt[c];
for(int id:t[v].out)
res[id].push_back(i - L[id] + 1);
}
}
};
int main(){
ios::sync_with_stdio(false);
cin.tie(NULL);
int n;
while(cin>>n){
string tmp;
getline(cin,tmp);
vector<string> P(n);
for(int i=0;i<n;i++) getline(cin,P[i]);
string T;
getline(cin,T);
Aho aho;
vector<int> L(n);
for(int i=0;i<n;i++){ L[i]=P[i].size(); aho.add(P[i],i); }
aho.build();
vector<vector<int>> occ(n);
aho.search(T,L,occ);
for(int i=0;i<n;i++){
for(int j=0;j<(int)occ[i].size();j++){
if(j) cout<<' ';
cout<<occ[i][j];
}
cout<<'\n';
}
}
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CnN0cnVjdCBBaG8gewogICAgc3RydWN0IE5vZGUgewogICAgICAgIG1hcDxjaGFyLGludD4gbnh0OwogICAgICAgIGludCBsaW5rPTA7CiAgICAgICAgdmVjdG9yPGludD4gb3V0OwogICAgfTsKICAgIHZlY3RvcjxOb2RlPiB0OwogICAgQWhvKCl7IHQuZW1wbGFjZV9iYWNrKCk7IH0KICAgIHZvaWQgYWRkKGNvbnN0IHN0cmluZyAmcyxpbnQgaWQpewogICAgICAgIGludCB2PTA7CiAgICAgICAgZm9yKGNoYXIgYzpzKXsKICAgICAgICAgICAgaWYoIXRbdl0ubnh0LmNvdW50KGMpKXsKICAgICAgICAgICAgICAgIHRbdl0ubnh0W2NdPXQuc2l6ZSgpOwogICAgICAgICAgICAgICAgdC5lbXBsYWNlX2JhY2soKTsKICAgICAgICAgICAgfQogICAgICAgICAgICB2PXRbdl0ubnh0W2NdOwogICAgICAgIH0KICAgICAgICB0W3ZdLm91dC5wdXNoX2JhY2soaWQpOwogICAgfQogICAgdm9pZCBidWlsZCgpewogICAgICAgIHF1ZXVlPGludD4gcTsKICAgICAgICBmb3IoYXV0byAmcDp0WzBdLm54dCl7CiAgICAgICAgICAgIHRbcC5zZWNvbmRdLmxpbms9MDsKICAgICAgICAgICAgcS5wdXNoKHAuc2Vjb25kKTsKICAgICAgICB9CiAgICAgICAgd2hpbGUoIXEuZW1wdHkoKSl7CiAgICAgICAgICAgIGludCB2PXEuZnJvbnQoKTtxLnBvcCgpOwogICAgICAgICAgICBmb3IoYXV0byAmcDp0W3ZdLm54dCl7CiAgICAgICAgICAgICAgICBjaGFyIGM9cC5maXJzdDsgaW50IHU9cC5zZWNvbmQ7CiAgICAgICAgICAgICAgICBpbnQgaj10W3ZdLmxpbms7CiAgICAgICAgICAgICAgICB3aGlsZShqJiYhdFtqXS5ueHQuY291bnQoYykpIGo9dFtqXS5saW5rOwogICAgICAgICAgICAgICAgaWYodFtqXS5ueHQuY291bnQoYykpIGo9dFtqXS5ueHRbY107CiAgICAgICAgICAgICAgICB0W3VdLmxpbms9ajsKICAgICAgICAgICAgICAgIGZvcihpbnQgeDp0W2pdLm91dCkgdFt1XS5vdXQucHVzaF9iYWNrKHgpOwogICAgICAgICAgICAgICAgcS5wdXNoKHUpOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgfQogICAgdm9pZCBzZWFyY2goY29uc3Qgc3RyaW5nICZzLGNvbnN0IHZlY3RvcjxpbnQ+ICZMLHZlY3Rvcjx2ZWN0b3I8aW50Pj4gJnJlcyl7CiAgICAgICAgaW50IHY9MDsKICAgICAgICBmb3IoaW50IGk9MDtpPChpbnQpcy5zaXplKCk7aSsrKXsKICAgICAgICAgICAgY2hhciBjPXNbaV07CiAgICAgICAgICAgIHdoaWxlKHYmJiF0W3ZdLm54dC5jb3VudChjKSkgdj10W3ZdLmxpbms7CiAgICAgICAgICAgIGlmKHRbdl0ubnh0LmNvdW50KGMpKSB2PXRbdl0ubnh0W2NdOwogICAgICAgICAgICBmb3IoaW50IGlkOnRbdl0ub3V0KQogICAgICAgICAgICAgICAgcmVzW2lkXS5wdXNoX2JhY2soaSAtIExbaWRdICsgMSk7CiAgICAgICAgfQogICAgfQp9OwppbnQgbWFpbigpewogICAgaW9zOjpzeW5jX3dpdGhfc3RkaW8oZmFsc2UpOwogICAgY2luLnRpZShOVUxMKTsKICAgIGludCBuOwogICAgd2hpbGUoY2luPj5uKXsKICAgICAgICBzdHJpbmcgdG1wOwogICAgICAgIGdldGxpbmUoY2luLHRtcCk7CiAgICAgICAgdmVjdG9yPHN0cmluZz4gUChuKTsKICAgICAgICBmb3IoaW50IGk9MDtpPG47aSsrKSBnZXRsaW5lKGNpbixQW2ldKTsKICAgICAgICBzdHJpbmcgVDsKICAgICAgICBnZXRsaW5lKGNpbixUKTsKICAgICAgICBBaG8gYWhvOwogICAgICAgIHZlY3RvcjxpbnQ+IEwobik7CiAgICAgICAgZm9yKGludCBpPTA7aTxuO2krKyl7IExbaV09UFtpXS5zaXplKCk7IGFoby5hZGQoUFtpXSxpKTsgfQogICAgICAgIGFoby5idWlsZCgpOwogICAgICAgIHZlY3Rvcjx2ZWN0b3I8aW50Pj4gb2NjKG4pOwogICAgICAgIGFoby5zZWFyY2goVCxMLG9jYyk7CiAgICAgICAgZm9yKGludCBpPTA7aTxuO2krKyl7CiAgICAgICAgICAgIGZvcihpbnQgaj0wO2o8KGludClvY2NbaV0uc2l6ZSgpO2orKyl7CiAgICAgICAgICAgICAgICBpZihqKSBjb3V0PDwnICc7CiAgICAgICAgICAgICAgICBjb3V0PDxvY2NbaV1bal07CiAgICAgICAgICAgIH0KICAgICAgICAgICAgY291dDw8J1xuJzsKICAgICAgICB9CiAgICB9CiAgICByZXR1cm4gMDsKfQo=