added more comments, changed the data type for the numbers to unsigned long long