Initial commit
Add a CardValue data type for ease of evaluating
Add a same_suit for checking of the group
Remove group_by because Data.List already provide one
Add `rank` function that checks the rank of cards
Prototype for rank

Add remaining implementation on rank

Fix type compiler error on rank
Add the input file for P054 problem
Preven `succ` to be invoke on the highest value
Import some utils
Add a beat function to tell who is the winner
Add a parser to convert string to cards
Add a main function that gets the winner from file
Add solution to Problem 55

Usage of higher order function is rampant in order to familiarize
with them.
Refactor `is_lychrel` function to be readable

Remove some clutter about checking of length
Implement a primality test for Problem 58

The problem is to find the side length of the number enumerated from
the center of a square starting from one so that the ratio of primes
to non-primes in the diagonals is less than 10%.

Since we don't know the number of primes that will be used, we
implement a miller-rabbin primality testing for this. The numbers 2,
7, and 61 is enough for the values of a as I bet that the number
produced before hitting the 10% mark will be less than 4 billion.
According to wikipedia, testing 2, 7 and 61 is enough for numbers less
than ~ 4 billion.
Add two solutions to problems