code: def fateman_poly_F_1(n):
      """Fateman's GCD benchmark: trivial GCD"""
      Y = [Symbol("y_" + str(i)) for i in range(n + 1)]
  
      y_0, y_1 = Y[0], Y[1]
  
      u = y_0 + Add(*Y[1:])
      v = y_0**2 + Add(*[y**2 for y in Y[1:]])
  
      F = ((u + 1) * (u + 2)).as_poly(*Y)
      G = ((v + 1) * (-3 * y_1 * y_0**2 + y_1**2 - 1)).as_poly(*Y)
  
      H = Poly(1, *Y)
  
      return F, G, H
  
imports: from sympy.core import Add, Mul, Symbol, sympify, Dummy, symbols
  from sympy.core.containers import Tuple
  from sympy.core.singleton import S
  from sympy.ntheory import nextprime
  from sympy.polys.densearith import dmp_add_term, dmp_neg, dmp_mul, dmp_sqr
  from sympy.polys.densebasic import dmp_zero, dmp_one, dmp_ground, dup_from_raw_dict, dmp_raise, dup_random
  from sympy.polys.domains import ZZ
  from sympy.polys.factortools import dup_zz_cyclotomic_poly
  from sympy.polys.polyclasses import DMP
  from sympy.polys.polytools import Poly, PurePoly
  from sympy.polys.polyutils import _analyze_gens
  from sympy.utilities import subsets, public, filldedent
  from sympy.polys.rings import ring
label_desc: Use image node_id 6 for calling a global function with example usage: fateman_poly_F_1(n) and returns: F,  G,  H