title: Number Subsequences Ab String Repeated K Times
signature: numberSubsequencesAbStringRepeatedKTimes(s, k) {
test_code: import 'dart:convert';
  
  // SOLUTION CODE
  // ============================================
  PLACEHOLDER_CODE_BODY
  
  // TESTING CODE 
  // ============================================
  bool validateSolution(double actual, double expected){
      return (actual - expected).abs() < 1e-06;
  }
  
  String driver(s, k, double expected){
      try
      {
          if (validateSolution(PLACEHOLDER_FN_NAME(s, k), expected)){
              return "PASSED";
          }
          return "FAILED";
      }catch(exception_object){
          return exception_object.runtimeType.toString();
      }
  }
  
  int main() {
  
      print("TEST-0...${driver(
          "abbc", 96, 
          9312.0)
      }");
  
      print("TEST-1...${driver(
          "abahk", 7, 
          49.0)
      }");
  
      print("TEST-2...${driver(
          "hugbabab", 5, 
          75.0)
      }");
  
      print("TEST-3...${driver(
          "abadbc", 60, 
          7260.0)
      }");
  
      print("TEST-4...${driver(
          "nkg9", 8, 
          0.0)
      }");
  
      print("TEST-5...${driver(
          "jh7dab", 41, 
          861.0)
      }");
  
      print("TEST-6...${driver(
          "abd", 87, 
          3828.0)
      }");
  
      print("TEST-7...${driver(
          "aabb8yk", 4, 
          40.0)
      }");
  
      print("TEST-8...${driver(
          "1111", 18, 
          0.0)
      }");
  
      print("TEST-9...${driver(
          "PFXAhr", 8, 
          0.0)
      }");
  
      return 0;
  }
source_py: def number_subsequences_ab_string_repeated_k_times(s, K):
      n = len(s)
      c1 = 0
      c2 = 0
      C = 0
      for i in range(n):
          if (s[i] == 'a'):
              c1 += 1
          if (s[i] == 'b'):
              c2 += 1
              C += c1
      return ((C * K) + ((((K * (K - 1)) / 2) * c1) * c2))
source_cpp: int number_subsequences_ab_string_repeated_k_times(string s, int K) {
    int n = s . length ( );
    int C, c1 = 0, c2 = 0;
    for ( int i = 0;
    i < n;
    i ++ ) {
      if ( s [ i ] == 'a' ) c1 ++;
      if ( s [ i ] == 'b' ) {
        c2 ++;
        C += c1;
      }
    }
    return C * K + ( K * ( K - 1 ) / 2 ) * c1 * c2;
  }