# Fossil hunting **by [Matt Hall](https://github.com/kwinkunks)** We have some fossil abundance data. Each record contains a number, which represents a geological age, and zero or more fossil symbols. One symbol represents one example of that fossil. For example, we might have a record like this: 349.8🦐🐚🐚🐟🐟🦐 The number is the age of the sample in units of 'millions of years before the present', to 4 significant figures, and is unique (there are no duplicate records). It is immediately followed by the fossil counts for that sample. For example, this record indicates that the samples collected from rocks with age = 349.8 Ma contained two shrimps, two gastropod shells, and two fish specimens. Your actual dataset will be much larger than this. It's also less organized: the records are not in order. There are four questions to answer about your data: 1. How many samples are there of the most abundant organism? 2. What is the age of the oldest record with maximum diversity? 3. What is the span (first to last appearance) of the most abundant organism? 4. At what age is the latest appearance of the last fossil to appear? When the answer is an age, give 1 decimal place of precision. ## Example 345.1🐟 346.2🐚🐚🐟 348.7🐚🦐 349.8🦐🐚🐚🐟🐟🦐 350.0🐚🦐🦐🐚🦐🦐 351.7🦐🐟🦐 353.8🦐 354.9 We'd answer the questions this way: 1. The most abundant organism is the shrimp, with **10** specimens. 2. The oldest record with the maximum diversity (3 fossil types) is **349.8** 3. The span of the most abundant organism (the shrimp) is 353.8 - 348.7 = **5.1** 4. The last fossil to appear (the shell) last appears at an age of **346.2** ## A quick reminder how this works This document is formatted in [Markdown](https://daringfireball.net/projects/markdown/). You can retrieve your data, which is always a string, by choosing a **``** (also a string). This ensures that you have different data from other people, so be creative. ``` url = 'https://kata.scienxlab.org/challenge/fossil-hunting' params = { 'key': # Replace with your own string. } r = requests.get(url, params) r.text ``` To answer question 1, change the `params`: ``` params = { 'key': , # Use the same key you used to get your input. 'question': 1, 'answer': 1234 # Your answer; can be a float, int, list or array; # the challenge description will tell you which. } ``` To get a hint for a question, provide the question number but no answer: ``` params = { 'question': 1, } ``` [Complete instructions at kata.scienxlab.org](https://kata.scienxlab.org/challenge) [An example notebook to get you started](https://gist.github.com/kwinkunks/50f11dac6ab7ff8c3e6c7b34536501a2) ---- © 2024 [Scienxlab](https://scienxlab.org/) — Code: openly licensed under [Apache 2.0](https://www.apache.org/licenses/LICENSE-2.0) — Text: openly licensed under [CC BY](https://creativecommons.org/licenses/by/4.0/).