## global variables

$U = {}

### subroutines

def op_u(set0, set1)
  res = {}
  (set0.keys + set1.keys).each{|i| res[i] = 1}
  res
end

def op_i(set0, set1)
  res = {}
  set0.keys.each{|i| res[i] = 1 if set1.include?(i)}
  res
end

def op_d(set0, set1)
  res = {}
  set0.keys.each{|i| res[i] = 1 if ! set1.include?(i)}
  res
end

def op_s(set0, set1)
  op_u(op_d(set0, set1), op_d(set1, set0))
end

def op_c(set0)
  op_d($U, set0)
end

### <exp> := <term> (op2 <term>)*
### <term> := '(' <exp> ') | op1 <term> | sn
###   op2 := [uids], op1 := 'c', sn := [A-E]

def calc_exp()
  t0 = calc_term()

  while ! $expr[$pc].nil? && 'uids'.include?($expr[$pc])
    op2 = $expr[$pc]
    $pc += 1
    t1 = calc_term()

    case op2
    when 'u'
      t0 = op_u(t0, t1)
    when 'i'
      t0 = op_i(t0, t1)
    when 'd'
      t0 = op_d(t0, t1)
    when 's'
      t0 = op_s(t0, t1)
    end
  end

  t0
end

def calc_term()
  case $expr[$pc]
  when '('
    $pc += 1
    exp0 = calc_exp()
    $pc += 1
    return exp0
  when 'c'
    $pc += 1
    return op_c(calc_term())
  end

  ret = $sets[$expr[$pc]]
  $pc += 1
  ret
end

### main

while line = gets
  line.strip!

  $sets = {}
  ('A'..'E').each{|sn| $sets[sn] = {}}
  $U = {}

  while line != 'R 0'
    sn, k = line.split(' ')
    gets.strip.split(' ').each{|s| $sets[sn][s.to_i] = $U[s.to_i] = 1}
    line = gets.strip
  end
  #p $sets
  #p $U

  $expr = gets.strip
  $pc = 0

  ans = calc_exp()

  if ans.empty?
    puts 'NULL'
  else
    puts ans.keys.sort.join(' ')
  end
end