title: Program Circumference Parallelogram
signature: class Solution {
  
      public decimal ProgramCircumferenceParallelogram(decimal a, decimal b) {
test_code: using System;
  using System.Numerics;
  using System.Diagnostics;
  using System.Collections.Generic;
  using System.Linq;
  using System.Text;
  using System.Security.Cryptography;
  using System.Web.UI;
  using System.Web.Script.Serialization;
  
  // SOLUTION CODE
  // ============================================
  PLACEHOLDER_CODE_BODY
  
  // TESTING CODE 
  // ============================================
  namespace EvaluatePrediction {
      class TestRunner {
          public bool ValidateSolution(decimal actual, decimal expected){
              return Math.Abs(actual - expected) < 1e-09m;
          }
  
          public string driver(decimal a, decimal b, decimal expected){
              try{
                PLACEHOLDER_CLS_NAME solution_cls = new PLACEHOLDER_CLS_NAME();
                decimal pred_result = solution_cls.PLACEHOLDER_FN_NAME(a, b); 
                if (ValidateSolution(
                      pred_result,
                      expected)){
                  return "PASSED";
                }
                return "FAILED";
              } 
              catch (Exception exception_obj)
              {
                return exception_obj.GetType().FullName;
              }
          }
          static void Main(string[] args) {
              TestRunner runner = new TestRunner();
              String result;
              result = runner.driver(
                  801.0366882228715m, 456.71190645582783m, 
                  2515.4971893573984m
              );
              Console.WriteLine(string.Format(
                  "TEST-0...{0}",
                  result)
              );result = runner.driver(
                  -7069.610056819919m, -4226.483870778477m, 
                  -22592.18785519679m
              );
              Console.WriteLine(string.Format(
                  "TEST-1...{0}",
                  result)
              );result = runner.driver(
                  7723.966966568705m, 5894.65405158763m, 
                  27237.242036312673m
              );
              Console.WriteLine(string.Format(
                  "TEST-2...{0}",
                  result)
              );result = runner.driver(
                  -7935.859205856963m, -5333.225064296693m, 
                  -26538.168540307313m
              );
              Console.WriteLine(string.Format(
                  "TEST-3...{0}",
                  result)
              );result = runner.driver(
                  6094.247432557289m, 1660.420120702062m, 
                  15509.335106518702m
              );
              Console.WriteLine(string.Format(
                  "TEST-4...{0}",
                  result)
              );result = runner.driver(
                  -7371.490363309265m, -1095.4543576847332m, 
                  -16933.889441987998m
              );
              Console.WriteLine(string.Format(
                  "TEST-5...{0}",
                  result)
              );result = runner.driver(
                  8368.473889617526m, 4735.838330834498m, 
                  26208.62444090405m
              );
              Console.WriteLine(string.Format(
                  "TEST-6...{0}",
                  result)
              );result = runner.driver(
                  -3761.921143166053m, -5315.871691690649m, 
                  -18155.585669713404m
              );
              Console.WriteLine(string.Format(
                  "TEST-7...{0}",
                  result)
              );result = runner.driver(
                  3139.1089185587884m, 6490.194159517967m, 
                  19258.60615615351m
              );
              Console.WriteLine(string.Format(
                  "TEST-8...{0}",
                  result)
              );result = runner.driver(
                  -5218.286665567171m, -8265.153014320813m, 
                  -26966.87935977597m
              );
              Console.WriteLine(string.Format(
                  "TEST-9...{0}",
                  result)
              );
          }
      }
  }
  
source_py: def program_circumference_parallelogram(a, b):
      return ((2 * a) + (2 * b))
source_cpp: float program_circumference_parallelogram(float a, float b) {
    return ( ( 2 * a ) + ( 2 * b ) );
  }