title: Unable to find solution for a practice problem in codechef
body: <p>Here is the problem from code chef : </p>
  
  <p>A set of N dignitaries have arrived in close succession at Delhi and are awaiting transportation to Roorkee to participate in the inaugural ceremony of Cognizance. Being big sponsors of Cognizance, it has been deemed unsuitable by the organizing team to arrange for more than one dignitary to travel in a single vehicle. In addition, each dignitary has specified his preferred modes of transport to the organizing team well in advance. Consequently, the organizing team has drawn up a list specifying the set of acceptable transport mechanisms for each dignitary. Given such a list of preferences and the list of N available vehicles at Delhi, you need to specify if an allocation of vehicles can be so made that everyone’s preferences are satisfied. Each dignitary takes up atmost 1 transportation unit.
  Input Format:
  Line 1: N - The number of dignitaries. 1 &lt;= N &lt;= 100
  Line 2-N+1: The names of the dignitaries – 1 per line.
  Line N+2 to 2*N+1: The names of the vehicles, 1 per line
  Line N+2 onwards: K – The size of the preference list for each dignitary, followed by K space separated names of acceptable transport means. K &lt;= N
  Note: None of the names will have a length > 100.</p>
  
  <p>Output Format:</p>
  
  <p>Line 1:
   Yes/No.</p>
  
  <p>Sample Input:</p>
  
  <p>4</p>
  
  <p>Divye</p>
  
  <p>Rohit</p>
  
  <p>Akshat</p>
  
  <p>Parth</p>
  
  <p>Scorpio</p>
  
  <p>BMW</p>
  
  <p>Ford</p>
  
  <p>Chevrolet</p>
  
  <p>1 BMW</p>
  
  <p>1 Ford</p>
  
  <p>2 Scorpio Chevrolet</p>
  
  <p>1 Ford</p>
  
  <p>Sample Output:</p>
  
  <p>No</p>
  
  <p>Link to the problem :  <a href="http://www.codechef.com/problems/INSOMB6/" rel="nofollow noreferrer">http://www.codechef.com/problems/INSOMB6/</a></p>
  
  <p>Here is the code i wrote :</p>
  
  <pre><code>#!/usr/bin/python
  
  ceo = []
  cars = []
  error = True
  n = int(raw_input())
  for i in range(n):
   ceo.append(raw_input().lower())
  for i in range(n):
   cars.append(raw_input().lower())
  
  for i in range(n):
   test = raw_input().lower().split()
   if int(test[0]) is not len(test[1:]):
    error = False
    continue
   if test[0] != '0':
    for i in test[1:]:
  
     try :
      cars.remove(i)
     except ValueError :
      error = False
  
  if error and  len(cars) is 0 :
   print "Yes"
  else : 
   print "No"
  </code></pre>
  
  <p>It gives correct output for sample input. But it fails somewhere. It will be great if you guys can point out a situation where this code fails!</p>