You are an expert programmer specialized in analyzing programming instructions. Each instruction has been categorized to fit into a single label that describes the main action of the instruction. 

Your primary task is to determine if the given instruction is too specific for its category and cannot be applied to the majority of code samples in that category. For example, if an instruction is in the "refactor range to enumerate" category, then you must determine if the instruction can be applied to all code snippets where we are refactoring a range generator to enumerate.

Common signs that instructions are too specific: mentionining of line numbers, mentioning variable/class names, referencing the fine-grained logic of algorithms, suggesting optimizations for computation, or referencing the problem statement the code is trying to solve.

Not every instruction that has these traits are neccessarily too specific. Instructions like "rename counter to cat_counter" can still be applied to the majority of code samples with minimal modifications. You will need to rate these instructions from 1 to 3, with 1 being the least specific (can be applied to anything), 2 meaning minimal edits to be generally applicable, and 3 being extremely specific (significant transformation required to apply the instruction to other code snippets). 

Instructions that contain multiple, seperate action/instruction are always considered too specific and invalid.

You must also provide the rationale behind your judgement using a short sentence. Additionally, suggest a new instruction with minimal changes if the score is 1 or 2. Replace references to variables with {{variable_1}}, {{variable_2}},... references to functions with {{function_1}}, {{function_2}},... and references to language specific keyswords (e.g. for, if, while) with {{syntax_1}}, {{syntax_2}}, ...
Do not edit things besides references to names. If you must edit more than just names, the instruction is too specific. 
If a no modifications to the instruction are required, just repeat the original instruction.

You MUST output your response using json formatting between the XML tags <answer></answer>. Below are examples of instructions, categories, ratings, and the output format you are required to respond with.

# Examples
<example>
Category: add-more-comments
Instruction: add more comments to the key logic of the algorithm
Response:
{{
    "Reasoning": "no mentions of names, no mention of the specifics in any algorithms, no mentions of optimizations, no references to the problem statement",
    "Rating": 1,
    "Formatted_instruction": "add more comments to the key logic of the algorithm"
}}
</example>

<example>
Category: remove-intermediate-variables
Instruction: Remove the intermediate variable cat_result and print the value directly 
Response:
{{
    "Reasoning": "references a specific variable from the code, but minimal changes (just changing the reference to cat_result) makes this generally applicable to many code snippets",
    "Rating": 2,
    "Formatted_instruction": "Remove the intermediate variable {{variable_1}} and print the value directly"
}}
</example>

<example>
Category: remove-intermediate-computation
Instruction: Remove the intermediate variables day_earnings and night_earnings and store the sum directly into total_earnings 
Response:
{{
    "Reasoning": "references a specific variable from the code, but minimal changes (just changing the reference to day_earnings, night_earnings, and total_earnings) makes this generally applicable to many code snippets",
    "Rating": 2,
    "Formatted_instruction": "Remove the intermediate variables {{variable_1}} and {{variable_2}} and store the sum directly into {{variable_3}}"
}}
</example>

<example>
Category: remove-redundant-computation 
Instruction: Use digit mapping after base conversion to transform positional numeral representations, reducing complexity and avoiding redundant intermediate lists. 
Response:
{{
    "Reasoning": "references a specific data structure and a specific part of the algorithm. No minimal edit makes this instruction applicable to most code snippets in this category.",
    "Rating": 3,
    "Formatted_instruction": "Use digit mapping after base conversion to transform positional numeral representations, reducing complexity and avoiding redundant intermediate lists."
}}
</example>

<example>
Category: use-max/min
Instruction: Use Python functions min() and max() instead of function comparisons.
Response:
{{
    "Reasoning": "There is no explicit reference to any part of the code. The term 'function comparisons' is broad enough to apply to most code snippets",
    "Rating": 1,
    "Formatted_instruction": "Use Python functions min() and max() instead of function comparisons."
}}
</example>

<example>
Category: use-max/min
Instruction: Use the built-in max() function to reduce the if statements.
Response:
{{
    "Reasoning": "references a specific python keyword, but minimal changes (reference to the if keyword) makes the instruction applicable to all code snippets that can be refactored with max or min",
    "Rating": 2,
    "Formatted_instruction": "Use the built-in max() function to reduce the {{syntax_1}} statements."
}}
</example>

<example>
Category: encapsulate-code
Instruction: Define a function to handle range updates, simplify conditional judgments, and reduce redundant code.
Response:
{{
    "Reasoning": "References specific syntax in the algorithm and no minimal edits to the instruction makes this generally appliable",
    "Rating": 3,
    "Formatted_instruction": "Define a function to handle range updates, simplify conditional judgments, and reduce redundant code."
}}
</example>

<example>
Category: use-for-loop
Instruction: "use a for loop instead of while loop and remove unneccessary intermediate variables"
Response:
{{
    "Reasoning": "references multiple seperate actions/instructions which is always invalid",
    "Rating": 3,
    "Formatted_instruction": "use a for loop instead of while loop and remove unneccessary intermediate variables"
}}
</example>


# Input
Category: {category}
Instruction: {instruction}

# Output
<answer>
{{
    "Reasoning": <fill here>,
    "Rating": <fill here>,
    "Formatted_instruction": <fill here>
}}
</answer>