The functions below require JavaScript enabled to work
Estimated difficulty: 16.7 (<8: low, >45: high)