You are an AI assistant tasked with analyzing a passage of text to insert retrieval tokens and identify Prefix-intent (PI) and Key Factual Information (KFI). A Prefix-Intent (PI) should be a piece of text that should precede factual information, it must not be only 1 or 2 words. Key Factual Information (KFI) should be meaningful and include important details.

Your goal is to insert a  <|retrieval|> token after it is clear what the intent of the text is (e.g., "The president of the USA is"), but  before the key factual information is stated (e.g., "Joe Biden"). Whenever there is a <|retrieval|> token, we will retrieve the key factual information.

Here is the passage you will be working with:

<passage>
Cantons and communes of Gabon As of 2011, Gabon contains 152 Cantons, 52 Communes, 29 Arrondissements, and 26 Districts. These are the third-level administrative units of Gabon and between them make up the units of the Departments of Gabon. Arrondissements tend to be units of major cities such as Libreville and communes are generally seated in the main cities and towns and incorporating the surrounding rural area. The cantons of Gabon are largely rural in nature with a small town or large village as the main centre. Estuaire Province Commune of Libreville Premier Arrondissement Deuxième Arrondissement Troisième Arrondissement Quatrième Arrondissement Cinquième Arrondissement Sixième Arrondissement Komo (Kango) Commune of Kango Canton of Bokoué Canton of Engong Canton of Komo Komo-Mondah (Ntoum) Commune of Ntoum Commune of Owendo Canton of Ikoy-Tsini Canton of Komo-Ntoum Canton of Mbéi Canton of Océan-Gongoué Noya (Cocobeach) Commune of Cocobeach Canton of Mouni-Noya Canton of Océan-Mondah Haut-Ogooué Province Commune of Franceville Premier Arrondissement Deuxième Arrondissement Troisième Arrondissement Quatrième Arrondissement Bayi-Brikolo (Aboumi) Commune of Aboumi Canton of Brikolo Djoue (Onga) Commune of Onga Canton of Gayi Canton of Mpani Djououri-Aguilli (Bongoville) Commune of Bongoville Canton of Kayié Canton of Lékeye Lékabi-Léwolo (Ngouoni) Commune of Ngouoni Canton of Ekoula Canton of Enkoro (Ngatara) Canton of Ngoua Lekoni-Lekori (Akieni) Commune of Akiéni Canton of Lébényi Canton of Lessimi Canton of Léwoumou Canton of Limi Lekoko (Bakoumba) Commune of Bakoumba Canton of Lébombi Canton of Miagassa Leboumbi-Leyou (Moanda) Commune of Moanda Canton of Lébombi-Lékédi Canton of Lékédi-Leyou Commune of Mounana Mpassa (Franceville) Canton of Kassa Canton of Lekabi Canton of Ndjoumou Ogooué-Létili (Boumango) Commune of Boumango Canton of Loula Canton of Maloundou Plateaux (Leconi) Commune of Léconi Canton of Djouélé-Laboumi Canton of Djouya Canton of Louri Sebe-Brikolo (Okondja) Commune of Okandja Canton of Louami-Lélama Canton of Lékori Canton of Lekala Canton of Mouniandzi Canton of Sébé-Louri Moyen-Ogooué Province Abanga-Bigne (Ndjole) Commune of Ndjolé Canton of Bifoun-Wéliga Canton of Ebel-Abanga Canton of Ebel-Alembé Canton of Samkita Ogooue et des Lacs (Lambaréné) Commune of Lambaréné Canton of Lacs-du-Nord Canton of Lacs-du-Sud Canton of Ogooué-Amont Canton of Ogooué-Aval Canton of Ogooué-Mbiné Canton of Ogooué-Ngounié Canton of Route de Fougamou Ngounié Province Boumi-Louetsi (Mbigou) Commune of Mbigou Canton of Bagandou-Ngounié Canton of Basse-Louétsi Canton of Doua Canton of Louétsi-Boumi Canton of Ngounié-Louétsi Canton of Wano-Ivindzi Dola (Ndende) Commune of Ndendé Canton of Dola-Nord Canton of Dola-Sud Douya-Onoy (Mouila) Commune of Mouila Canton of Dibadi Canton of Dikoka Canton of Ngounié-Centre Louetsi-Bibaka (Malinga) Commune of Malinga Canton of Haute-Bibaka Canton of Haute-Louétsi Louetsi-Wano (Lebamba) Commune of Lébamba Canton of Soungou Canton of Wanou-Biroundou Mougalaba (Guiétsou) Commune of Guiétsou Canton of Basse-Mougalaba Canton of Haute-Mougalaba Ndolou (Mandji) Commune of Mandji Canton of Doubanga Canton of Dourembou Canton of Koumou Canton of Péni Ogoulou (Mimongo) Commune of Mimongo Canton of Dibwa Canton of Haute-Dikobi Canton of Haute-Ogoulou Canton of Ogoulou-Onoye Canton of Omba Canton of Vieux-Mimongo Tsamba-Magotsi (Fougamou) Commune of Fougamou Canton of Banda Canton of Dibwa Canton of Oumba Canton of Sindara Canton of Tandou Nyanga Province Basse-Banio (Mayumba) Commune of Mayumba Canton of Loubetsi-Divoungou Canton of Mayombé Canton of Mouwambi Douigni (Moabi) Commune of Moabi Canton Douami-Mouembi Canton Doubandji Canton Migamba-Yara Doutsila (Mabanda) Commune of Mabanda Canton of Haute-Dola Canton of Haute-Ngongo Haute-Banio (Ndindi) Commune of Ndindi Canton of Lagune Canton of Louzibi Mongo (Moulèngui-Binza) Commune of Moulèngui-Binza Canton of Douki Canton of Voungou Mougoutsi (Tchibanga) Commune of Tchibanga Canton of Doughegny Canton of Doussegoussou Canton of Mougalaba-Divoungou Ogooué-Ivindo Province Ivindo (Makokou) Commune of Makokou Canton of Aboye Canton of Ivindo Canton of Liboumba Canton of Mouniandzi Canton of Ntang-Louli Lope (Booue) Commune of Booué Canton
</passage>

Follow these steps to complete the task:

1. Inserting retrieval tokens:
   a. Read through the text carefully.
   b. Identify potential Prefix-Intent (PI) sections that consist of a single intent and could serve as a search query. You must not modify the prefix intent and it MUST be part verbatim in the passage. It cannot be single or only a few words.
   c. For each identified PI, evaluate if the following sentence/subsentece that could serve as Key Factual Information (KFI).
   d. Insert <|retrieval|> tokens into the text AFTER the Prefix Intent (PI) and BEFORE key factual information is stated (KFI).
   e. Key Factual information should not intersect with Prefix Intent.

2. Identifying Prefix-Intent (PI) and Key Factual Information (KFI):
   a. For each <|retrieval|> token you've inserted, identify the preceding text as the Prefix-Intent (PI).
   b. Identify the following text, up to the next PI, as the Key Factual Information (KFI).
   c. Ensure that both PI and FI are short subsentences or phrases but not 1 or 2 words.

3. Insert <|start-PI|>,<|end-PI|>, <|start-KFI|>, <|end-KFI|>.
   a. For each identified Prefix Intent (PI), add a start and end special tokens (<|start-PI|>,<|end-PI|>) to quickly identify them.
   b. Do the same for the Key Factual Information (KFI) (<|start-KFI|>, <|end-KFI|>)
   c. Ensure that the very first PI in the passage is preceded by <|start-PI|>.
   d. Double-check that every PI and KFI is properly enclosed in these tags.

4. Describing ideal retrieved information:
   a. Given the Prefix-Intent (PI) and Key Factual Information (KFI), imagine an ideal retriever and enormous corpus. 
   b. Using the retriever and corpus, imagine that you can retrieve information given the Prefix-Intent.  
   c. Describe how that content should look like so it helps generating the Key Factual Information (KFI)


5. Reformulate the Prefix Intent if necessary: Reformulate it to not be impersonal. This means that if the subject it is not identified (e.g. it, he, she) you need to add the appropriate subject so the prefix-intent can be understood by itself. The subject should be changed from the previous information in the passage. Reformulated Prefix should not add any extra information or intent that is not mentioned in the original Prefix Intent.


6. Output format:
   For each pair of Prefix-Intent (PI) and Key Factual Information (KFI) you identify, provide the following output separating each example in a JSON list output. Ensure that it is actually a JSON.

   - Prefix_intent: [Write the Prefix Intent here]
   - Prefix_reformulated: [Write the Prefix Intent reformulated]
   - Key_Factual_Information: [Write the Key Factual Information here]
   - Verification: [Confirm that the KFI can be directly derived from the PI given a strictly connected context]
   - Ideal_Knowledge: [Describe how the ideal retrieved content should look to generate the KFI]
   - Explanation: [Briefly explain how the PI and KFI connect and why you chose to insert the <|retrieval|> token in that position]


7. Final step:
   After you have completed the analysis and provided outputs for all identified PI-KFI pairs, present the original passage with the <|retrieval|> tokens inserted in their appropriate positions

Here's an example of the expected output format:

Passage: Girmal Falls General This waterfall extends to a height of up to 100 feet, making it the highest waterfall of Gujarat. The picturesque beauty of this site makes it popular among visitors and people of the region alike. The water swiftly falls from a great height, creating a fog like condition that’s eye catching. The government of this state is working on many projects to make this place an ideal picnic spot and a tourist attraction. The fall comes to its best form at the time of monsoon and provides an immensely striking appearance. Some of the best natural features of Gujarat can be explored in this place. This place is a nice and refreshing retreat for any traveler.

```json
{ "results" : [
  {
    "Prefix_intent": "Girmal Falls General This waterfall extends to a height of up to",
    "Prefix_reformulated": "What is the height of Girmal Falls?",
    "Key_Factual_Information": "100 feet, making it the highest waterfall of Gujarat",
    "Verification": "The KFI directly provides the height information requested in the PI.",
    "Ideal_Knowledge": "A list of waterfalls in Gujarat, India, with their heights and rankings, specifically mentioning Girmal Falls as the highest at 100 feet.",
    "Explanation": "The PI introduces Girmal Falls and sets up a query about its height, while the KFI provides the specific measurement and its significance. The <|retrieval|> token is inserted to indicate where additional information might be needed to support the factual statement."
  },
  {
    "Prefix_intent": "The water swiftly falls from a great height, creating",
    "Prefix_reformulated": "What does the water falling from Girmal Falls create?",
    "Key_Factual_Information": "a fog like condition that's eye catching",
    "Verification": "The KFI directly describes the effect created by the falling water, as prompted by the PI.",
    "Ideal_Knowledge": "Detailed descriptions of the visual effects created by high waterfalls, including the formation of mist or fog-like conditions due to water droplets in the air.",
    "Explanation": "The PI describes the water falling and sets up a query about its effect, while the KFI provides the specific visual phenomenon created. The <|retrieval|> token is inserted to indicate where additional information might be needed to support the description."
  },
  {
    "Prefix_intent": "The fall comes to its best form at the time of",
    "Prefix_reformulated": "When does Girmal Falls come to its best form?",
    "Key_Factual_Information": "monsoon and provides an immensely striking appearance",
    "Verification": "The KFI directly answers when the waterfall is at its best and describes its appearance, as prompted by the PI.",
    "Ideal_Knowledge": "Information on the seasonal variations of Girmal Falls, highlighting the monsoon season's impact on water flow and visual appeal.",
    "Explanation": "The PI sets up a query about the best time to view the falls, and the KFI provides the specific season and describes the appearance. The <|retrieval|> token is inserted to indicate where additional information about seasonal changes might be needed."
  }],
"Updated_Passage":"<|start-PI|> Girmal Falls General This waterfall extends to a height of up to <|end-PI|> <|retrieval|> <|start-KFI|> 100 feet, making it the highest waterfall of Gujarat <|end-KFI|>. The picturesque beauty of this site makes it popular among visitors and people of the region alike. <|start-PI|> The water swiftly falls from a great height, creating <|end-PI|> <|retrieval|> <|start-KFI|> a fog like condition that’s eye catching <|end-KFI|>. The government of this state is working on many projects to make this place an ideal picnic spot and a tourist attraction. <|start-PI|> The fall comes to its best form at the time of <|end-PI|> <|retrieval|> <|start-KFI|> monsoon and provides an immensely striking appearance <|end-KFI|>. Some of the best natural features of Gujarat can be explored in this place. This place is a nice and refreshing retreat for any traveler."
}

```
8. Final check:
  a. Review the Updated_Passage to ensure all PIs and KFIs are properly tagged.
  b. Verify that the first PI in the passage starts with <|start-PI|>.
  c. Make sure there are no missing or misplaced tags.
 
Remember to analyze the entire passage, identify all relevant PI-KFI pairs, and provide the output for each pair as specified. After completing the analysis, present the original passage with the <|retrieval|> tokens inserted in their appropriate positions as part of a new key in the JSON file. Only Ouput the JSON File.