input: Write a function to validate a credit card number using the Luhn algorithm.
  assert validateCreditCardNumber('4539743185747991') == True
  assert validateCreditCardNumber('1234567812345670') == False
  assert validateCreditCardNumber('4012888888881881') == True
  assert validateCreditCardNumber('1234567812345678') == False
output: def validateCreditCardNumber(card_number):
      def digits_of(n):
          return [int(d) for d in str(n)]
      
      digits = digits_of(card_number)
      odd_digits = digits[-1::-2]
      even_digits = digits[-2::-2]
      
      checksum = sum(odd_digits)
      for d in even_digits:
          checksum += sum(digits_of(d * 2))
      
      return checksum % 10 == 0