How to generate unique array of queues using constraints

module test;
  class check;
    rand bit[3:0] queues[3] [$];
    bit [3:0] global_queue[$:100];
    
    constraint queue1 {foreach(queues[i]) {queues[i].size == 3;
                                           unique{queues[i]};}}
  endclass
  
  initial begin
    check c1 = new;
    c1.randomize();
    $display("queue : %0p",c1.queues); //queue : '{'{'h5, 'hc, 'h6} , '{'h7, 'ha, 'hd} , '{'h8, 'ha, 'h0} }
  end
endmodule

The above code will do only unique queues but the queue elements of one queue might be present in another which i dont want(queues[1][1] is in queues[2][1]).
All queues should be different from one another.
Help me with this.

Thanks

In reply to Prashanthp436:

module test;
  class check;
    rand bit[3:0] queues[3] [$];
    bit [3:0] global_queue[$:100];
 
    constraint queue1 {foreach(queues[i]) {queues[i].size == 3;
                                           foreach(queues[j])
                                             i != j -> unique{queues[i], queues[j]};}
                      }
  endclass
  check c1 = new;
  initial repeat (5) begin
    assert(c1.randomize());
    $display("queue : %0p",c1.queues); //queue : '{'{'h5, 'hc, 'h6} , '{'h7, 'ha, 'hd} , '{'h8, 'ha, 'h0} }
  end
endmodule