Let's examine a somewhat deeper expression, `a b c + d e + f[a b] - 1/f[f[c d]]`, with `Position` and `Extract` and `TreeForm. Length[%] TreeForm /@ %% The tree graph of the expression appears first. ClearAll[a, b, c, d, e, f] (x = a b c + d e + f[a b] - 1/f[f[c d]]) // TreeForm ![times1][1] Then the positions of the head, `Times`. Position[x, Times] >{{1, 0}, {2, 0}, {3, 1, 0}, {4, 0}, {4, 2, 1, 1, 1, 0}} By dropping the final zero from each position we obtain the instances of `Times` including the arguments. Extract[x, {Sequence @@ Drop[#, -1]}] & /@ % > {a b c, d e, a b, -(1/f[f[c d]]), c d} ...the number of items Length[%] >5 ...and a look at the structure of each of those instances of Times. TreeForm /@ %% ![times2][2] [1]: https://i.sstatic.net/eLK2y.png [2]: https://i.sstatic.net/h08yP.png