title: Check Two Given Circles Touch Intersect
signature: class Solution {
  
      public int CheckTwoGivenCirclesTouchIntersect(int x1, int y1, int x2, int y2, int r1, int r2) {
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(int actual, int expected){
              return new JavaScriptSerializer().Serialize(actual) == new JavaScriptSerializer().Serialize(expected);
          }
  
          public string driver(int x1, int y1, int x2, int y2, int r1, int r2, int expected){
              try{
                PLACEHOLDER_CLS_NAME solution_cls = new PLACEHOLDER_CLS_NAME();
                int pred_result = solution_cls.PLACEHOLDER_FN_NAME(x1, y1, x2, y2, r1, r2); 
                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(
                  11, 36, 62, 64, 50, 4, 
                  -1
              );
              Console.WriteLine(string.Format(
                  "TEST-0...{0}",
                  result)
              );result = runner.driver(
                  87, 1, 62, 64, 54, 41, 
                  0
              );
              Console.WriteLine(string.Format(
                  "TEST-1...{0}",
                  result)
              );result = runner.driver(
                  51, 1, 47, 90, 14, 71, 
                  -1
              );
              Console.WriteLine(string.Format(
                  "TEST-2...{0}",
                  result)
              );result = runner.driver(
                  89, 67, 9, 52, 94, 21, 
                  0
              );
              Console.WriteLine(string.Format(
                  "TEST-3...{0}",
                  result)
              );result = runner.driver(
                  64, 10, 79, 45, 67, 78, 
                  0
              );
              Console.WriteLine(string.Format(
                  "TEST-4...{0}",
                  result)
              );result = runner.driver(
                  57, 86, 99, 43, 83, 63, 
                  0
              );
              Console.WriteLine(string.Format(
                  "TEST-5...{0}",
                  result)
              );result = runner.driver(
                  65, 90, 42, 82, 77, 32, 
                  0
              );
              Console.WriteLine(string.Format(
                  "TEST-6...{0}",
                  result)
              );result = runner.driver(
                  32, 23, 28, 26, 60, 45, 
                  0
              );
              Console.WriteLine(string.Format(
                  "TEST-7...{0}",
                  result)
              );result = runner.driver(
                  73, 61, 63, 77, 92, 76, 
                  0
              );
              Console.WriteLine(string.Format(
                  "TEST-8...{0}",
                  result)
              );result = runner.driver(
                  3, 99, 6, 19, 21, 28, 
                  -1
              );
              Console.WriteLine(string.Format(
                  "TEST-9...{0}",
                  result)
              );
          }
      }
  }
  
source_py: def check_two_given_circles_touch_intersect(x1, y1, x2, y2, r1, r2):
      distSq = (((x1 - x2) * (x1 - x2)) + ((y1 - y2) * (y1 - y2)))
      radSumSq = ((r1 + r2) * (r1 + r2))
      if (distSq == radSumSq):
          return 1
      elif (distSq > radSumSq):
          return (- 1)
      else:
          return 0
source_cpp: int check_two_given_circles_touch_intersect(int x1, int y1, int x2, int y2, int r1, int r2) {
    int distSq = ( x1 - x2 ) * ( x1 - x2 ) + ( y1 - y2 ) * ( y1 - y2 );
    int radSumSq = ( r1 + r2 ) * ( r1 + r2 );
    if ( distSq == radSumSq ) return 1;
    else if ( distSq > radSumSq ) return - 1;
    else return 0;
  }