input: from typing import List
  
  
  def calculate_gcd(numbers: List[int]) -> int:
      """ Calculate the greatest common divisor (GCD) of a list of integers using recursion.
      For a single number, GCD is the number itself, for two numbers, it is the largest number
      that divides both without a remainder. For more than two numbers, the GCD of the list
      is the GCD of the first number and the GCD of the remaining numbers in the list.
      >>> calculate_gcd([8, 12])
      4
      >>> calculate_gcd([48, 18])
      6
      >>> calculate_gcd([24, 56, 84, 124])
      4
      """
output:     if len(numbers) == 1:
          return numbers[0]
      elif len(numbers) == 2:
          return gcd(numbers[0], numbers[1])
      else:
          return gcd(numbers[0], calculate_gcd(numbers[1:]))
  
  def gcd(a: int, b: int) -> int:
      while b:
          a, b = b, a % b
      return a