#include<bits/stdc++.h>
using namespace std;
using LL=long long;
#define rep(i,n) for(int i=0; i<n; i++)
#define rep1(i,n) for(int i=1; i<n; i++)
#define all(a) (a).begin(),(a).end();

string s;
int id;
map<char,int>M;
char f()
{
  char a,b;
  if(s[id]=='[')
  {
    id++;
    a=f();
  }
  else
  {
    a=s[id];
   }
  id+=2;
  if(s[id]=='[')
  {
id++;
b=f();
  }
  else
  {
    b=s[id];
  }
  id++;
  if(M[a]>M[b])
  {
    M[a]--;
    return a;
  }
  else
  {
    M[b]--;
    return b;
  }
}


int main(){

  cin>>s;
  char c;
  int v;
  while(cin>>c>>v)
  {
    M[c]=v;
  }
  id=1;
  f();
  for(pair<char,int>p:M)
  {
    if(p.second!=0)
    {
      cout<<"No"<<endl;
      return 0;
    }
  }
  cout<<"Yes"<<endl;

}


