#!/usr/bin/python
#oracle_RF
import re
import os
import sys

debug = False

lines = sys.stdin.readlines()

lemma = sys.argv[1]
if debug: print >> sys.stderr, "Lemma is "+lemma

priorities = []

def prioritize(num,m):
  global priorities, plist, match
  for i in range(len(priorities)):
    if match:
      if re.match(priorities[i],m):
         plist[i].append(num)
         break
    else:
      if priorities[i] in m:
         plist[i].append(num)
         break

if lemma == "indivVerif": 
  match = False
  priorities = ["~~>","In_S","AgSt","In_A","'pkD'"," !KU( sg(cp(v","In_A( $S"," In_A( 'S', <'pkD'","AgSt_A0","'bs'","!KU( ~skS","!KU( ~skD","In_A( $S, <'vs'"]

if lemma == "VoterC": 
  match = False
  priorities = ["~~>","!KU( ~sskD"," 'S', <'b'"," In_A( $BB, <'b'","!KU( sg(encp(v","AgSt","In_S","In_A","'pkD'"," !KU( sg(cp(v","In_A( $S"," In_A( 'S', <'pkD'","AgSt_A0","'bs'","!KU( ~skS","!KU( ~skD","In_A( $S, <'vs'"]

if lemma == "TimelyP": 
  match = False
  priorities = ["~~>","!KU( ~sskD"," 'S', <'b'"," In_A( $BB, <'b'","!KU( sg(encp(v","AgSt","In_S","In_A","'pkD'"," !KU( sg(cp(v","In_A( $S"," In_A( 'S', <'pkD'","AgSt_A0","'bs'","!KU( ~skS","!KU( ~skD","In_A( $S, <'vs'"]

if lemma == "Uniqueness": 
  match = False
  priorities = ["~~>","!KU( ~sskD"," 'S', <'b'"," In_A( $BB, <'b'","!KU( sg(encp(v","AgSt","In_S","In_A","'pkD'"," !KU( sg(cp(v","In_A( $S"," In_A( 'S', <'pkD'","AgSt_A0","'bs'","!KU( ~skS","!KU( ~skD","In_A( $S, <'vs'"]

if lemma == "secretSskD": 
  match = False
  priorities = ["~~>","!KU( ~sskD","'zkp'","'b'","In_S","!KU( ~sk","~sskD","AgSt","!KU( ~skD","!KU( sg(cp(","'pr'","'bs'","sg(cp(","In_A","In_S","~~>","cp("]

if lemma == "EligVerif": 
  match = False
  priorities = ["AgSt_A0","In_A( 'BB'"]


if lemma == "ballotsFromVoters": 
  match = False
  priorities = ["'zkp'","In_S","~sskD","~skS","~sskD","h(","encp("]

if lemma == "TalliedAsRecorded": 
  match = False
  priorities = ["AgSt_A0","In_A( 'BB'"]



#j
plist = [ [] for i in priorities ]

for line in lines:
  if debug: print >> sys.stderr, "Line is "+line,

  num = line.split(':')[0]

#  if lemma == "secret":
  prioritize(num,line)
#    if debug: print >> sys.stderr, "Current list: ",plist
#  else:
#    sys.exit(0)

for j in range(len(plist)):
  for i in plist[j]:
    print i
#print 1
