code: def get_intersection_and_outside(a_dict, b_dict):
      a = set(a_dict.keys())
      b = set(b_dict.keys())
      intersection = a.intersection(b)
      outside = (a.union(b)) - intersection
  
      def build_dict(keys):
          result = {}
          for k in keys:
              result[k] = a_dict.get(k, b_dict[k])
          return result
  
      return build_dict(intersection), build_dict(outside)
  
imports: import argparse
  from common import get_testcases, is_failure, is_unexpected_success, key, open_test_results
label_desc: Use image node_id 2 for calling a global function with example usage: get_intersection_and_outside(a_dict, b_dict) and returns: build_dict,  build_dict, result