#include <vector>
#include <string>
#include <fstream>
#include <sstream>
// You can include additional headers if you want
vector<vector<string>>vec1;
vector<string>vec2;
for(int i=0;i<cr3;i++){
if(v5[i][0]=="X"){
for(int j=0;j<cr2;j++){
if(v5[i][1]==v3[j][1]){
vec2.push_back(v3[j][0]);
}
else{}
}
vec1.push_back(vec2);
vec2.clear();
}
else if(v5[i][0]=="Y"){
for(int j=0;j<cr2;j++){
string s1,s2;
s1=v5[i][1];s2=v3[j][1];
if(s1[0]==s2[0] && s1[1]==s2[1] && s1[2]==s2[2]){
vec2.push_back(v3[j][0]);
}
}
vec1.push_back(vec2);
vec2.clear();
}
else{
if(v5[i][1]=="none"){
for(int i=0;i<cr1;i++){
if(v7[i]==0){
vec2.push_back(v1[i][1]);
}
else{}
}
}
vec1.push_back(vec2);
vec2.clear();
if(v5[i][1]=="one"){
for(int i=0;i<cr1;i++){
if(v7[i]>0){
vec2.push_back(v1[i][1]);
}
else{}
}
}
vec1.push_back(vec2);
vec2.clear();
if(v5[i][1]=="all"){
for(int i=0;i<cr1;i++){
if(v7[i]==to_num_cour){
vec2.push_back(v1[i][1]);
}
else{}
}
}
vec1.push_back(vec2);
vec2.clear();
}
}
ifs.close();
ofstream ofs;
ofs.open(outfilename);
for(int i=0;i<vec1.size()-1;i++){
if(vec1[i].size()==0){
ofs<<"N"<<endl;
}
else{
for(int j=0;j<vec1[i].size();j++){
ofs<<vec1[i][j]<<endl;
}
}
}
if(vec1[vec1.size()-1].size()==0){
ofs<<"N";
}
else{
for(int j=0;j<vec1[vec1.size()-1].size()-1;j++){
ofs<<vec1[vec1.size()-1][j]<<endl;
}
ofs<<vec1[vec1.size()-1][vec1[vec1.size()-1].size()-1];
}
ofs.close();
}