code: def _valid_dct(draw):
      dtype, x = draw(
          helpers.dtype_and_values(
              available_dtypes=helpers.get_dtypes("valid"),
              max_value=65280,
              min_value=-65280,
              min_num_dims=1,
              max_num_dims=5,
              min_dim_size=2,
              max_dim_size=10,
              shared_dtype=True,
          )
      )
      dims_len = len(x[0].shape)
      n = draw(st.sampled_from([None, "int"]))
      axis = draw(
          helpers.ints(min_value=-dims_len, max_value=dims_len - 1)
      )
      norm = draw(st.sampled_from([None, "ortho"]))
      type = draw(helpers.ints(min_value=1, max_value=4))
      if n == "int":
          n = draw(helpers.ints(min_value=1, max_value=20))
          if n <= 1 and type == 1:
              n = 2
      if norm == "ortho" and type == 1:
          norm = None
      return dtype, x, type, n, axis, norm
  
imports: import numpy
  import torch
  from hypothesis import strategies, assume
  import ivy
  import ivy_tests.test_ivy.helpers
  from ivy_tests.test_ivy.helpers import handle_test, BackendHandler
label_desc: Use image node_id 5 for calling a global function with example usage: _valid_dct(draw) and returns: dtype,  x,  type,  n,  axis,  norm