#
# Write a function `find_twos/1` taking as its only argument a list,
# returning a list containing only the `2`s
# input a list
# output a list of only `2`s
```elixir
def find_twos([el | tail], acc) do
if(el == 2, do: find_twos(tail, [el | acc]), else: find_twos(tail, acc))
end
def find_twos([], acc), do: acc
def find_twos([]), do: []
def find_twos([2|t]), do: [2|find_twos(t)]
def find_twos([_h|t]), do: find_twos(t)
```
As part of our statistics efforts, Bynk needs to keep track ten
smallest loan applications. Build an Elixir process that receives
messages of the form {:loan 5000}, {:loan 20000} and keeps track of
the 10 smallest loans. When the message :dump is received it should
print out the ten smallest loans. Bynk processes a lot of loans so
the algorithm needs to be somewhat efficient.
```elixir
def process({:loan, amount}, state) do
if(length(state) < 10 or amount < Enum.max(state), do: [amount | state], else: state)
end
def process(:dump, state), do: state |> Enum.sort |> Enum.take(10)
```