#include <iostream>
#include <string>
#include <vector>
using namespace std;

int main() {
	int N; cin >> N;
	string S;
	vector<string> Slist;
	for(int i=0; i<N; ++i){
	    cin >> S;
	    Slist.push_back(S);
	}
	string T; cin >> T;
	int min=1, max=N+1;
	for(int i=0; i<N; ++i){
	    string Sa, Sz;
	    for(int j=0; j<Slist[i].size(); ++j){
	        if(Slist[i][j]=='?'){
	            Sa += 'a';
	            Sz += 'z';
	        }
	        else{
	            Sa += Slist[i][j];
	            Sz += Slist[i][j];
	        }
	    }
	    if(Sz<T) ++min;
	    if(T<Sa) --max;
	}
	for(int i=min; i<=max; ++i){
	    cout << i;
	    if(i<max) cout << ' ';
	}
	cout << endl;
	return 0;
}
