title: Sum Of All Elements Up To Nth Row In A Pascals Triangle
signature: sumOfAllElementsUpToNthRowInAPascalsTriangle(n) {
test_code: import 'dart:convert';
  
  // SOLUTION CODE
  // ============================================
  PLACEHOLDER_CODE_BODY
  
  // TESTING CODE 
  // ============================================
  bool validateSolution(int actual, int expected){
      return actual.toString() == expected.toString();
  }
  
  String driver(n, int expected){
      try
      {
          if (validateSolution(PLACEHOLDER_FN_NAME(n), expected)){
              return "PASSED";
          }
          return "FAILED";
      }catch(exception_object){
          return exception_object.runtimeType.toString();
      }
  }
  
  int main() {
  
      print("TEST-0...${driver(
          21, 
          2097151)
      }");
  
      print("TEST-1...${driver(
          4, 
          15)
      }");
  
      print("TEST-2...${driver(
          31, 
          2147483647)
      }");
  
      print("TEST-3...${driver(
          38, 
          274877906943)
      }");
  
      print("TEST-4...${driver(
          36, 
          68719476735)
      }");
  
      print("TEST-5...${driver(
          32, 
          4294967295)
      }");
  
      print("TEST-6...${driver(
          23, 
          8388607)
      }");
  
      return 0;
  }
source_py: def sum_of_all_elements_up_to_nth_row_in_a_pascals_triangle(n):
      sum = 0
      for row in range(n):
          sum = (sum + (1 << row))
      return sum
source_cpp: long long int sum_of_all_elements_up_to_nth_row_in_a_pascals_triangle(int n) {
    long long int sum = 0;
    for ( int row = 0;
    row < n;
    row ++ ) {
      sum = sum + ( 1 << row );
    }
    return sum;
  }