def ReLU_backward(df, g):
  """
  Input:
  - df: [N * K] -> gradient on the upstream function 'f'
  - g:  [N * K] -> output of LeRU_forward
  Output:
  - [if (g_nk <= 0) 0 else df_nk]: [N * K]
  """
  g_ = g.reshape(df.shape)
  df[g_ <= 0] = 0
  return df.reshape(g.shape)