# How to preserve the order of multiplication with Cases?

i have following expression:

Cases[cx[i, k] cx[k, q] a[z, x], _Symbol, 2] // DeleteDuplicates


what i expect is to get:

{i,k,q,z,x}


but i get

{z, x, i, k, q}


is there any way to preserve the order of multiplication ?

Cases[Hold[cx[i, k] cx[k, q] a[z, x]], _Symbol, 3] // DeleteDuplicates

The problem was that Mathematica automatically reorders the order of multiplication in a product when you evalute it. The Hold prevents Mathematica from evaluating.