code: def choose_plural(amount, variants):
      
      
      if isinstance(variants, six.text_type):
          variants = split_values(variants)
      check_length(variants, 3)
      amount = abs(amount)
      
      if amount % 10 == 1 and amount % 100 != 11:
          variant = 0
      elif amount % 10 >= 2 and amount % 10 <= 4 and \
           (amount % 100 < 10 or amount % 100 >= 20):
          variant = 1
      else:
          variant = 2
      
      return variants[variant]
docs: Choose proper case depending on amount
  
      @param amount: amount of objects
      @type amount: C{integer types}
  
      @param variants: variants (forms) of object in such form:
          (1 object, 2 objects, 5 objects).
      @type variants: 3-element C{sequence} of C{unicode}
          or C{unicode} (three variants with delimeter ',')
  
      @return: proper variant
      @rtype: C{unicode}
  
      @raise ValueError: variants' length lesser than 3