Solution for Part 1 and 2 with typing. Again I have left out the inputData. The logging has stayed the same. To get the debug output one has to change level = INFO to level = DEBUG. I have also added test cases with the data given by the examples in the introduction.