def predicative(adjective):
 w = adjective.lower()
 if (w in adjective_predicative):
  return adjective_predicative[w]
 if w.endswith('ste'):
  return w[:(-1)]
 if w.endswith('ere'):
  return w[:(-1)]
 if w.endswith('bele'):
  return w[:(-1)]
 if (w.endswith('le') and (len(w) > 2) and is_vowel(w[(-3)]) and (not w.endswith(('eule', 'oele')))):
  return ((w[:(-2)] + w[(-3)]) + 'l')
 if (w.endswith('ve') and (len(w) > 2) and is_vowel(w[(-3)]) and (not w.endswith(('euve', 'oeve', 'ieve')))):
  return ((w[:(-2)] + w[(-3)]) + 'f')
 if (w.endswith('ze') and (len(w) > 2) and is_vowel(w[(-3)]) and (not w.endswith(('euze', 'oeze', 'ieze')))):
  return ((w[:(-2)] + w[(-3)]) + 's')
 if w.endswith('ve'):
  return (w[:(-2)] + 'f')
 if w.endswith('ze'):
  return (w[:(-2)] + 's')
 if (w.endswith('e') and (len(w) > 2)):
  if ((not is_vowel(w[(-2)])) and (w[(-2)] == w[(-3)])):
   return w[:(-2)]
  if ((len(w) > 3) and (not is_vowel(w[(-2)])) and is_vowel(w[(-3)]) and (w[(-3)] != 'i') and (not is_vowel(w[(-4)]))):
   return ((w[:(-2)] + w[(-3)]) + w[(-2)])
  return w[:(-1)]
 return w

def predicative ( adjective ) : w = adjective . lower ( ) if ( w in adjective_predicative ) : return adjective_predicative [ w ] if w . endswith ( 'ste' ) : return w [ : ( - 1 ) ] if w . endswith ( 'ere' ) : return w [ : ( - 1 ) ] if w . endswith ( 'bele' ) : return w [ : ( - 1 ) ] if ( w . endswith ( 'le' ) and ( len ( w ) > 2 ) and is_vowel ( w [ ( - 3 ) ] ) and ( not w . endswith ( ( 'eule' , 'oele' ) ) ) ) : return ( ( w [ : ( - 2 ) ] + w [ ( - 3 ) ] ) + 'l' ) if ( w . endswith ( 've' ) and ( len ( w ) > 2 ) and is_vowel ( w [ ( - 3 ) ] ) and ( not w . endswith ( ( 'euve' , 'oeve' , 'ieve' ) ) ) ) : return ( ( w [ : ( - 2 ) ] + w [ ( - 3 ) ] ) + 'f' ) if ( w . endswith ( 'ze' ) and ( len ( w ) > 2 ) and is_vowel ( w [ ( - 3 ) ] ) and ( not w . endswith ( ( 'euze' , 'oeze' , 'ieze' ) ) ) ) : return ( ( w [ : ( - 2 ) ] + w [ ( - 3 ) ] ) + 's' ) if w . endswith ( 've' ) : return ( w [ : ( - 2 ) ] + 'f' ) if w . endswith ( 'ze' ) : return ( w [ : ( - 2 ) ] + 's' ) if ( w . endswith ( 'e' ) and ( len ( w ) > 2 ) ) : if ( ( not is_vowel ( w [ ( - 2 ) ] ) ) and ( w [ ( - 2 ) ] == w [ ( - 3 ) ] ) ) : return w [ : ( - 2 ) ] if ( ( len ( w ) > 3 ) and ( not is_vowel ( w [ ( - 2 ) ] ) ) and is_vowel ( w [ ( - 3 ) ] ) and ( w [ ( - 3 ) ] != 'i' ) and ( not is_vowel ( w [ ( - 4 ) ] ) ) ) : return ( ( w [ : ( - 2 ) ] + w [ ( - 3 ) ] ) + w [ ( - 2 ) ] ) return w [ : ( - 1 ) ] return w
returns the predicative adjective .