tests = int(input())
texts = []
for _ in range(tests + 1):
texts.append(input())
message = texts.pop()
res = ["<3"]
for z in texts:
res.append(z)
res.append("<3")
texte = "".join(res)
possible = True
indice = 0
for c in texte:
if (z := message.find(c, indice)) > -1:
indice = z+1
else:
possible = False
break
if possible:
print("yes")
else:
print("no")
#include <bits/stdc++.h>
using namespace std;
#define endl "\n"
#define ll long long
#define pb push_back
#define pi acos(-1)
#define IOS ios::sync_with_stdio(0); cin.tie(0); cout.tie(0);
const unsigned int M = 1000000007;
int main(int argc, char const *argv[]){
IOS;
int n;cin>>n;
bool f=false;
string s;
for(int i=1;i<=n;i++){
string s1;cin>>s1;
s+="<3"+s1;
}
s+="<3";
int l=s.length();
string msg;cin>>msg;
int l1=msg.length();
int pos=0;
for(int i=0;i<l1;i++){
if(msg[i]==s[pos]){
pos++;
}
}
if(pos==l)cout<<"yes";
else cout<<"no";
}
1657B - XY Sequence | 1009A - Game Shopping |
1657A - Integer Moves | 230B - T-primes |
630A - Again Twenty Five | 1234D - Distinct Characters Queries |
1183A - Nearest Interesting Number | 1009E - Intercity Travelling |
1637B - MEX and Array | 224A - Parallelepiped |
964A - Splits | 1615A - Closing The Gap |
4C - Registration System | 1321A - Contest for Robots |
1451A - Subtract or Divide | 1B - Spreadsheet |
1177A - Digits Sequence (Easy Edition) | 1579A - Casimir's String Solitaire |
287B - Pipeline | 510A - Fox And Snake |
1520B - Ordinary Numbers | 1624A - Plus One on the Subset |
350A - TL | 1487A - Arena |
1520D - Same Differences | 376A - Lever |
1305A - Kuroni and the Gifts | 1609A - Divide and Multiply |
149B - Martian Clock | 205A - Little Elephant and Rozdil |