this little snippet of code is hard for me to decipher,

```
def prime_factors(n)
return [] if n == 1
factor = (2..n).find {|x| n % x == 0}
[factor] + prime_factors(n / factor)
end
puts prime_factors(600851475143).max
```

Can you explain it?

why do we return a blank array if n == 1?>