code: def _dup_right_decompose(f, s, K):
      """Helper function for :func:`_dup_decompose`."""
      n = len(f) - 1
      lc = dup_LC(f, K)
  
      f = dup_to_raw_dict(f)
      g = {s: K.one}
  
      r = n // s
  
      for i in range(1, s):
          coeff = K.zero
  
          for j in range(0, i):
              if not n + j - i in f:
                  continue
  
              if not s - j in g:
                  continue
  
              fc, gc = f[n + j - i], g[s - j]
              coeff += (i - r * j) * fc * gc
  
          g[s - i] = K.quo(coeff, i * r * lc)
  
      return dup_from_raw_dict(g, K)
  
imports: from sympy.polys.densearith import dup_add_term, dmp_add_term, dup_lshift, dup_add, dmp_add, dup_sub, dmp_sub, dup_mul, dmp_mul, dup_sqr, dup_div, dup_rem, dmp_rem, dmp_expand, dup_mul_ground, dmp_mul_ground, dup_quo_ground, dmp_quo_ground, dup_exquo_ground, dmp_exquo_ground
  from sympy.polys.densebasic import dup_strip, dmp_strip, dup_convert, dmp_convert, dup_degree, dmp_degree, dmp_to_dict, dmp_from_dict, dup_LC, dmp_LC, dmp_ground_LC, dup_TC, dmp_TC, dmp_zero, dmp_ground, dmp_zero_p, dup_to_raw_dict, dup_from_raw_dict, dmp_zeros
  from sympy.polys.polyerrors import MultivariatePolynomialError, DomainError
  from sympy.utilities import variations
  from math import ceil, log
label_desc: Use image node_id 35 for calling a global function with example usage: _dup_right_decompose(f, s, K) and returns: dup_from_raw_dict