#include<bits/stdc++.h>
using namespace std;
struct aho_corasick
{
struct node
{
int suf_link=-1,exit_link=-1;
int nxt[128];
vector<int> leaf;
node()
{
fill(nxt,nxt+128,-1);
}
};
vector<node> g={node()};
void add_string(string s,int sidx)
{
int p=0;
for(char c:s){
if(g[p].nxt[c]==-1){
g[p].nxt[c]=g.size();
g.emplace_back();
}
p=g[p].nxt[c];
}
g[p].leaf.push_back(sidx);
}
void build_automaton()
{
for(deque<int> q={0};q.size();q.pop_front()){
int v=q.front(),suf_link=g[v].suf_link;
if(v!=0){
if(g[suf_link].leaf.size()) g[v].exit_link=suf_link;
else g[v].exit_link=g[suf_link].exit_link;
}
for(int i=0;i<128;i++){
int &nxt=g[v].nxt[i];
int nxt_sf;
if(v!=0) nxt_sf=g[suf_link].nxt[i];
else nxt_sf=0;
if(nxt==-1) nxt=nxt_sf;
else{
g[nxt].suf_link=nxt_sf;
q.push_back(nxt);
}
}
}
}
vector<int> get_sidx(int p)
{
vector<int> a;
for(int v=g[p].leaf.size()?p:g[p].exit_link;v!=-1;v=g[v].exit_link){
for(int j:g[v].leaf){
a.push_back(j);
}
}
return a;
}
};
/*int main()
{
ios_base::sync_with_stdio(false);
cin.tie(0);
cout.tie(0);
int n;
while(cin>>n){
vector<int> s_size(n);
aho_corasick ac;
for(int a=0;a<n;a++){
string s;
getline(cin,s);
ac.add_string(s,a);
s_size[a]=s.size();
}
ac.build_automaton();
vector<int> ans[n];
string t;
getline(cin,t);
int p=0;
for(int i=0;i<t.size();i++){
p=ac.g[p].nxt[t[i]];
for(int j:ac.get_sidx(p)){
ans[j].push_back(i-s_size[j]+1);
}
}
for(vector<int> v:ans){
if(!v.size()) cout<<"\n";
else{
for(int i:v){
cout<<i<<" ";
}
cout<<"\n";
}
}
}
}*/
signed main(){
cin.tie(0)->sync_with_stdio(0);
string n_line;
while (getline(cin, n_line)){
int n = stoi(n_line);
vector<int> s_size(n);
aho_corasick ac;
for (int i=0; i<n; i++){
string s; getline(cin, s);
ac.add_string(s, i);
s_size[i] = s.size();
}
ac.build_automaton();
vector<vector<int>> result(n);
string t; getline(cin, t);
for (int i=0, p=0; i<t.size(); i++){
p = ac.g[p].nxt[t[i]];
for (int j: ac.get_sidx(p))
result[j].push_back(i - s_size[j] + 1);
}
for (const vector<int> &v: result){
if (v.size() == 0) cout << "\n";
else for (int i=0; i<v.size(); i++)
cout << v[i] << " \n"[i == v.size()-1];
}
}
}
I2luY2x1ZGU8Yml0cy9zdGRjKysuaD4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKc3RydWN0IGFob19jb3Jhc2ljawp7CiAgICBzdHJ1Y3Qgbm9kZQogICAgewogICAgICAgIGludCBzdWZfbGluaz0tMSxleGl0X2xpbms9LTE7CiAgICAgICAgaW50IG54dFsxMjhdOwogICAgICAgIHZlY3RvcjxpbnQ+IGxlYWY7CiAgICAgICAgbm9kZSgpCiAgICAgICAgewogICAgICAgICAgICBmaWxsKG54dCxueHQrMTI4LC0xKTsKICAgICAgICB9CiAgICB9OwogICAgdmVjdG9yPG5vZGU+IGc9e25vZGUoKX07CiAgICB2b2lkIGFkZF9zdHJpbmcoc3RyaW5nIHMsaW50IHNpZHgpCiAgICB7CiAgICAgICAgaW50IHA9MDsKICAgICAgICBmb3IoY2hhciBjOnMpewogICAgICAgICAgICBpZihnW3BdLm54dFtjXT09LTEpewogICAgICAgICAgICAgICAgZ1twXS5ueHRbY109Zy5zaXplKCk7CiAgICAgICAgICAgICAgICBnLmVtcGxhY2VfYmFjaygpOwogICAgICAgICAgICB9CiAgICAgICAgICAgIHA9Z1twXS5ueHRbY107CiAgICAgICAgfQogICAgICAgIGdbcF0ubGVhZi5wdXNoX2JhY2soc2lkeCk7CiAgICB9CiAgICB2b2lkIGJ1aWxkX2F1dG9tYXRvbigpCiAgICB7CiAgICAgICAgZm9yKGRlcXVlPGludD4gcT17MH07cS5zaXplKCk7cS5wb3BfZnJvbnQoKSl7CiAgICAgICAgICAgIGludCB2PXEuZnJvbnQoKSxzdWZfbGluaz1nW3ZdLnN1Zl9saW5rOwogICAgICAgICAgICBpZih2IT0wKXsKICAgICAgICAgICAgICAgIGlmKGdbc3VmX2xpbmtdLmxlYWYuc2l6ZSgpKSBnW3ZdLmV4aXRfbGluaz1zdWZfbGluazsKICAgICAgICAgICAgICAgIGVsc2UgZ1t2XS5leGl0X2xpbms9Z1tzdWZfbGlua10uZXhpdF9saW5rOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGZvcihpbnQgaT0wO2k8MTI4O2krKyl7CiAgICAgICAgICAgICAgICBpbnQgJm54dD1nW3ZdLm54dFtpXTsKICAgICAgICAgICAgICAgIGludCBueHRfc2Y7CiAgICAgICAgICAgICAgICBpZih2IT0wKSBueHRfc2Y9Z1tzdWZfbGlua10ubnh0W2ldOwogICAgICAgICAgICAgICAgZWxzZSBueHRfc2Y9MDsKICAgICAgICAgICAgICAgIGlmKG54dD09LTEpIG54dD1ueHRfc2Y7CiAgICAgICAgICAgICAgICBlbHNlewogICAgICAgICAgICAgICAgICAgIGdbbnh0XS5zdWZfbGluaz1ueHRfc2Y7CiAgICAgICAgICAgICAgICAgICAgcS5wdXNoX2JhY2sobnh0KTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgIH0KICAgIH0KICAgIHZlY3RvcjxpbnQ+IGdldF9zaWR4KGludCBwKQogICAgewogICAgICAgIHZlY3RvcjxpbnQ+IGE7CiAgICAgICAgZm9yKGludCB2PWdbcF0ubGVhZi5zaXplKCk/cDpnW3BdLmV4aXRfbGluazt2IT0tMTt2PWdbdl0uZXhpdF9saW5rKXsKICAgICAgICAgICAgZm9yKGludCBqOmdbdl0ubGVhZil7CiAgICAgICAgICAgICAgICBhLnB1c2hfYmFjayhqKTsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgICAgICByZXR1cm4gYTsKICAgIH0KfTsKLyppbnQgbWFpbigpCnsKICAgIGlvc19iYXNlOjpzeW5jX3dpdGhfc3RkaW8oZmFsc2UpOwogICAgY2luLnRpZSgwKTsKICAgIGNvdXQudGllKDApOwogICAgaW50IG47CiAgICB3aGlsZShjaW4+Pm4pewogICAgICAgIHZlY3RvcjxpbnQ+IHNfc2l6ZShuKTsKICAgICAgICBhaG9fY29yYXNpY2sgYWM7CiAgICAgICAgZm9yKGludCBhPTA7YTxuO2ErKyl7CiAgICAgICAgICAgIHN0cmluZyBzOwogICAgICAgICAgICBnZXRsaW5lKGNpbixzKTsKICAgICAgICAgICAgYWMuYWRkX3N0cmluZyhzLGEpOwogICAgICAgICAgICBzX3NpemVbYV09cy5zaXplKCk7CiAgICAgICAgfQogICAgICAgIGFjLmJ1aWxkX2F1dG9tYXRvbigpOwogICAgICAgIHZlY3RvcjxpbnQ+IGFuc1tuXTsKICAgICAgICBzdHJpbmcgdDsKICAgICAgICBnZXRsaW5lKGNpbix0KTsKICAgICAgICBpbnQgcD0wOwogICAgICAgIGZvcihpbnQgaT0wO2k8dC5zaXplKCk7aSsrKXsKICAgICAgICAgICAgcD1hYy5nW3BdLm54dFt0W2ldXTsKICAgICAgICAgICAgZm9yKGludCBqOmFjLmdldF9zaWR4KHApKXsKICAgICAgICAgICAgICAgIGFuc1tqXS5wdXNoX2JhY2soaS1zX3NpemVbal0rMSk7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICAgICAgZm9yKHZlY3RvcjxpbnQ+IHY6YW5zKXsKICAgICAgICAgICAgaWYoIXYuc2l6ZSgpKSBjb3V0PDwiXG4iOwogICAgICAgICAgICBlbHNlewogICAgICAgICAgICAgICAgZm9yKGludCBpOnYpewogICAgICAgICAgICAgICAgICAgIGNvdXQ8PGk8PCIgIjsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIGNvdXQ8PCJcbiI7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICB9Cn0qLwpzaWduZWQgbWFpbigpewogICAgY2luLnRpZSgwKS0+c3luY193aXRoX3N0ZGlvKDApOwogICAgc3RyaW5nIG5fbGluZTsKICAgIHdoaWxlIChnZXRsaW5lKGNpbiwgbl9saW5lKSl7CiAgICAgICAgaW50IG4gPSBzdG9pKG5fbGluZSk7CgogICAgICAgIHZlY3RvcjxpbnQ+IHNfc2l6ZShuKTsKICAgICAgICBhaG9fY29yYXNpY2sgYWM7CiAgICAgICAgZm9yIChpbnQgaT0wOyBpPG47IGkrKyl7CiAgICAgICAgICAgIHN0cmluZyBzOyBnZXRsaW5lKGNpbiwgcyk7CiAgICAgICAgICAgIGFjLmFkZF9zdHJpbmcocywgaSk7CiAgICAgICAgICAgIHNfc2l6ZVtpXSA9IHMuc2l6ZSgpOwogICAgICAgIH0KICAgICAgICBhYy5idWlsZF9hdXRvbWF0b24oKTsKCiAgICAgICAgdmVjdG9yPHZlY3RvcjxpbnQ+PiByZXN1bHQobik7CiAgICAgICAgc3RyaW5nIHQ7IGdldGxpbmUoY2luLCB0KTsKICAgICAgICBmb3IgKGludCBpPTAsIHA9MDsgaTx0LnNpemUoKTsgaSsrKXsKICAgICAgICAgICAgcCA9IGFjLmdbcF0ubnh0W3RbaV1dOwogICAgICAgICAgICBmb3IgKGludCBqOiBhYy5nZXRfc2lkeChwKSkKICAgICAgICAgICAgICAgIHJlc3VsdFtqXS5wdXNoX2JhY2soaSAtIHNfc2l6ZVtqXSArIDEpOwogICAgICAgIH0KCiAgICAgICAgZm9yIChjb25zdCB2ZWN0b3I8aW50PiAmdjogcmVzdWx0KXsKICAgICAgICAgICAgaWYgKHYuc2l6ZSgpID09IDApIGNvdXQgPDwgIlxuIjsKICAgICAgICAgICAgZWxzZSBmb3IgKGludCBpPTA7IGk8di5zaXplKCk7IGkrKykKICAgICAgICAgICAgICAgIGNvdXQgPDwgdltpXSA8PCAiIFxuIltpID09IHYuc2l6ZSgpLTFdOwogICAgICAgIH0KICAgIH0KfQo=