YES
O(n^2)
TRS:
 {
      mark(h(X)) -> active(h(X)),
      mark(g(X)) -> active(g(X)),
       mark(d()) -> active(d()),
       mark(c()) -> active(c()),
      h(mark(X)) -> h(X),
    h(active(X)) -> h(X),
  active(h(d())) -> mark(g(c())),
    active(g(X)) -> mark(h(X)),
     active(c()) -> mark(d()),
      g(mark(X)) -> g(X),
    g(active(X)) -> g(X)
 }
 DUP: We consider a non-duplicating system.
  Trs:
   {
        mark(h(X)) -> active(h(X)),
        mark(g(X)) -> active(g(X)),
         mark(d()) -> active(d()),
         mark(c()) -> active(c()),
        h(mark(X)) -> h(X),
      h(active(X)) -> h(X),
    active(h(d())) -> mark(g(c())),
      active(g(X)) -> mark(h(X)),
       active(c()) -> mark(d()),
        g(mark(X)) -> g(X),
      g(active(X)) -> g(X)
   }
  Matrix Interpretation:
   Interpretation class: triangular
         [0]
   [c] = [4]
   
         [7]
   [d] = [1]
   
       [X1]    [1 1][X1]   [7]
   [g]([X0]) = [0 0][X0] + [1]
   
            [X1]    [1 3][X1]   [0]
   [active]([X0]) = [0 0][X0] + [2]
   
       [X1]    [1 1][X1]   [5]
   [h]([X0]) = [0 0][X0] + [1]
   
          [X1]    [1 4][X1]   [0]
   [mark]([X0]) = [0 0][X0] + [2]
   
   
   Qed