dining-philosophers-solutions