Find candidate keys given functional dependencies

In my database class we practiced how to find the candidate keys, given the functional dependencies. However they were easy examples, based on a single attribute being functionally dependent on a single attribute but in our book it gives the following example of more complex functional dependencies. Let’s say that I have the following relationship:

$ $ R(A,B,C,D,E,F)$ $

with the following functional dependencies:

$ $ f_1: \{A,B,C\} \to \{D,F\}$ $ $ $ f_2: \{D,E,F\} \to \{A,C,E\}$ $ $ $ f_3: \{D\} \to \{B\}$ $

and I need to find all the candidate keys. Because we need at least $ 3$ of the attributes to make candidate keys. Through writing out each of the tuples made up of $ 3$ or more attributes, I found that $ \{A, D,E,F\}$ , $ \{A,B,C,E\}$ , $ \{D,E,F\}$ and $ \{A,C,D,E\}$ are all candidate keys. However the catch is that either $ \{A, D,E,F\}$ , $ \{A,B,C,E\}$ or $ \{D,E,F\}$ ,$ \{A,C,D,E\}$ , $ \{A,B,C,E\}$ are the candidate keys.

I think that because the definition of a candidate key is that there can’t be a subset of it that’s also a candidate key. Using this logic, $ \{A, D,E,F\}$ would also not be candidate key as $ \{D,E,F\}$ is already a candidate key. Therefore, the final candidate keys would be:

$ $ \{D,E,F\},\{A,C,D,E\}, \{A,B,C,E\}$ $

Is my understanding of the topic correct or have I gone of the rails?