title: Maximum Binomial Coefficient Term Value
signature: def maximumBinomialCoefficientTermValue(n: Int) = {
test_code: import scala.collection.mutable.HashMap
  import scala.collection.immutable.HashSet
  
  
  // SOLUTION CODE
  // ============================================
  PLACEHOLDER_CODE_BODY
  
  
  // TESTING CODE 
  // ============================================
  def validateSolution(actual: Long , expected: Long): Boolean = {
      actual.toString == expected.toString
  }
  
  def driver(n: Int, expected: Long): String = {
      try {
          if (validateSolution(PLACEHOLDER_FN_NAME(n),expected)) {
              "PASSED"
          } else{
              "FAILED"
          }
      }catch{
          case e: Exception => {e.getClass.getName}
      }
  
  }
  object QuestionEvaluator extends App {
  
      println(s"TEST-0...${driver(
        23, 
        1352078L    
      )}")   
  
  
      println(s"TEST-1...${driver(
        41, 
        269128937220L    
      )}")   
  
  
      println(s"TEST-2...${driver(
        56, 
        7648690600760440L    
      )}")   
  
  
      println(s"TEST-3...${driver(
        38, 
        35345263800L    
      )}")   
  
  
      println(s"TEST-4...${driver(
        26, 
        10400600L    
      )}")   
  
  
      println(s"TEST-5...${driver(
        52, 
        495918532948104L    
      )}")   
  
  
      println(s"TEST-6...${driver(
        44, 
        2104098963720L    
      )}")   
  
  }
  
source_py: def maximum_binomial_coefficient_term_value(n):
      C = [[0 for x in range((n + 1))] for y in range((n + 1))]
      for i in range((n + 1)):
          for j in range((min(i, n) + 1)):
              if ((j == 0) or (j == i)):
                  C[i][j] = 1
              else:
                  C[i][j] = (C[(i - 1)][(j - 1)] + C[(i - 1)][j])
      maxvalue = 0
      for i in range((n + 1)):
          maxvalue = max(maxvalue, C[n][i])
      return maxvalue
source_cpp: int maximum_binomial_coefficient_term_value(int n) {
    int C [ n + 1 ] [ n + 1 ];
    for ( int i = 0;
    i <= n;
    i ++ ) {
      for ( int j = 0;
      j <= min ( i, n );
      j ++ ) {
        if ( j == 0 || j == i ) C [ i ] [ j ] = 1;
        else C [ i ] [ j ] = C [ i - 1 ] [ j - 1 ] + C [ i - 1 ] [ j ];
      }
    }
    int maxvalue = 0;
    for ( int i = 0;
    i <= n;
    i ++ ) maxvalue = max ( maxvalue, C [ n ] [ i ] );
    return maxvalue;
  }