### Task

You are given a piece of text and a list of **entity mentions** that appear in it.  
For each entity mention, you are also given a list of **candidate concepts** from the {knowledge_base_name_prompt} knowledge base.

Your task is to:

1. **Disambiguate each entity mention** by selecting the most appropriate Concept ID from the provided candidates, based on the **context of the text**.
2. If none of the candidates are appropriate, assign "NA" to that mention.

### Guidelines

- Use the **full document context** to make your decision — not just the mention in isolation.
- Choose **only one** Concept ID for each mention.
- If **none of the candidates** fits the meaning of the mention in context, assign "NA".
- Do **not modify** the mention text. Use the exact form as given.

### Output Format

Return a JSON array with one object for each entity mention. Each object must contain:

- `"mention"`: the exact mention text
- `"entity_id"`: the selected Concept ID or `"NA"`

Do not return Markdown code fences or any text outside the JSON array. Example:

[
    {{
        "mention": "Aspirin",
        "entity_id": "C0004057"
    }},
    {{
        "mention": "Stage II breast cancer",
        "entity_id": "C0278488"
    }},
    {{
        "mention": "light therapy",
        "entity_id": "NA"
    }}
]

### Examples

{demonstrations_prompt}

### Input

{test_case_prompt}

Now, assign the most appropriate Concept ID to each entity mention in this text, using the context of the document.
Provide the output in the JSON array format specified above.
