#!/usr/bin/env rdmd
import std.stdio, std.string, std.conv;
import std.algorithm, std.array;

void main()
{
    for(string S; (S=readln().chomp()).length; )
    {
        auto n = S.to!int();
        string w = "<3";
        foreach(i;0..n)
            w ~= readln().chomp() ~ "<3";
        immutable string t = readln().chomp().idup;
        const auto M = w.length;
        const auto N = t.length;
        if(M>N){ writeln("no"); return; }
        auto dp = new int[N+1];
        auto dpn = new int[N+1];
        foreach(j,v;w)
        {
            foreach(i;j..j+N-M+1)
                dpn[i+1]=max(dpn[i],dp[i+(v==t[i]?0:1)]+(v==t[i]?1:0));
            dp.swap(dpn);
        }
        writeln(w.length==dp[N]?"yes":"no");
    }
}
