import java.util.*;

public class Solution 
{
    static int ascendingChainsComplete;
    static int descendingChainsComplete;
    static String alternateTransition="";
    static int standaloneCount;
    static String ticker="";
    static int ascendingCounter;
    
    static int counter = 0;
    
    //counter relates to descending count
    //ascendingCounter relates to ascending        
       
    public static void main (String[] args)
    {

	//************ALL DOCUMENTED TEST CASES**********
    //Ascending
    //float[] nums = new float[]{0f,2f,3f,4f,6f,8f,9f};   //Test case 1    PASS             
    //float[] nums = new float[]{-1f};   //Test case 2             PASS             
    //float[] nums = new float[]{0f};   //Test case 3       PASS                    
    //float[] nums = new float[]{0,1f,2,4f,5,7f};   //Test case 4    PASS            
        
    //Descending
    //float[] nums = float int[]{9f,8f,6f,4f,3f,2f,0f};    PASS            
    //float[] nums = new float[]{-1f};                PASS             
    //float[] nums = new float[]{0f};          PASS                    
    //float[] nums = new float[]{7f,5f,4f,2f,1f,0f};      PASS 
        
    //For some reason, no test cases above went through junction 8. All others are valid.
    //So these were new devised cases.....
    //float[] nums = new float[]{0f,1f,2f,4f,5f,7f,8f,10f,14f};   //Test case 4    PASS            
    //float[] nums = new float[]{0f,2f,4f,5f,7f,8f,10f,14f,17f,19f,23f,24f,25f,26f,35f,42f,43f,44f};  PASS     
    //float[] nums = new float[]{5f,4f,3f,4f,5f,7f,6f,10f,14f,17f,19f,23f,24f,25f,26f,35f,42f,47f,60f,61f};  PASS
    //float[] nums = new float[]{7f,6f,9f,3f,5f,8f};
        
    //Merging both ascending and descending code
    //float[] nums = new float[]{5f,4f,3f,4f,5f,6f,8f,8f};   PASS
    //float[] nums = new float[]{5f,4f,3f,4f,5f,7f,6f,5f,10f,14f,17f,19f,23f,24f,25f,26f,35f,34f,33f,47f};  PASS
        
    //float[] nums = new float[]{5f,6f,7f,6f,5f,9f,10f,11f,44f,45f,46f,47f,46f,45f,44f,43f,25f,24f,24f,23f,23f,22f};  //using ascending, descending and non-changing....PASS
        
    //float[] nums = new float[]{5f,9f,13f,2f,3f,4f,3f,1f,2f,3f,4f,5f,6f,22f,66f,65f,65f,64f,63f,90f,89f,60f}; //using standalone numbers in between and also ascending/descending...PASS
    //float[] nums = new float[]{1.5f,1.9f,  1.13f,  1.2f, 1.3f, 1.4f, 1.5f, 1.3f,  1.1f,  1.2f};
        
    //float[] nums = new float[]{1.5f,1.9f,  1.13f,  1.2f, 1.1f, 1.4f, 1.5f, 1.3f,  1.1f,  1.2f};
        
    //float[] nums = new float[]{2.0f,4.0f,2.0f,1.2f,1.3f,1.4f,1.3f,1.1f,1.2f,1.3f,1.4f,1.5f,1.6f,1.22f,1.66f,1.65f,1.65f,1.64f,1.63f,1.90f,1.89f,1.60f}; 
        
    //repeat numbers
    //float[] nums = new float[]{2,2,2,4,4,1,1,9,9};  PASS
        
        
    static float[] nums = {
    //4.9f, 4.8f, 4.7f, 4.6f, 4.7f, 4.8f, 4.9f, 5.0f, 48.5f, 91.7f  //in test documentation,  used to test the transition 4.6
    //4.9f, 4.8f, 4.7f, 4.5f, 4.6f, 4.7f, 4.9f, 5.0f, 48.5f, 91.7f  //in test documentation , used to test 4.5f standalone merging upwards into ascending
    //0.9f, 0.8f, 0.7f, 0.6f, 0.7f, 0.8f, 0.9f, 5.0f   //test case in documentation where I resolved end of range with standalone....
    //86.0f,77.7f, 77.8f, 77.9f, 78.0f, 78.1f,78.0f, 77.9f, 77.8f, 77.7f, 25.3f, 72.8f, 42.5f   //this will be section of the ChatGPT data in order to ensure I can resolve issues quicker
    //25.3f, 72.8f,42.5f, 74.5f, 74.4f, 74.3f, 74.2f, 74.1f, 74.2f, 74.3f, 74.4f,74.5f   //this will be section of the ChatGPT data in order to ensure I can resolve issues quicker
    //47.3f, 47.2f, 47.3f, 47.4f,47.5f  //issues encountered at end of the chatGPT array. it did not merge last two items.
        
    //47.4f, 47.3f,47.4f   //realised at end of the documentation, that this is failing...
    //47.3f, 47.4f,47.3f   // NEED TO FIX THIS ALSO, resolved as part of the above one...
    //47.4f, 47.3f,47.5f  //NEED TO FIX THIS ALSO
    //47.3f, 47.4f,47.5f  //late fixes in code   -  FAIL   (this is straight forward ascending)  -  FAIL************
    //47.3f, 47.2f,47.3f,47.4f,8f  //late fixes in code 
    //47.4f,47.3f,47.2f,47.4f  //late fixes in code
    //47.3f,47.2f,47.3f,47.4f,47.5f  //late fixes in code
    //47.3f,47.2f,47.3f //late fixes in code
     //47.2f,47.3f,47.2f //late fixes in code
    //47.2f,47.3f,47.2f,47.1f //late fixes in code
        
    //this is first chatGPT extract
    //30032025/SummaryRange/5/4/ChatGPTgeneratedNumbers.txt
    //4.9f, 4.8f, 4.7f, 4.6f, 4.7f, 4.8f, 4.9f, 5.0f, 48.5f, 91.7f, 82.9f, 57.6f, 57.5f, 57.4f, 57.3f, 57.2f, 57.3f, 57.4f, 57.5f, 57.6f, 26.1f, 25.4f, 21.2f, 83.5f, 56.3f, 56.2f, 56.1f, 56.0f, 55.9f, 55.8f, 55.7f, 55.6f, 13.9f, 35.7f, 54.8f, 54.7f, 54.6f, 54.5f, 54.6f, 54.7f, 54.8f, 54.9f, 49.9f,  9.6f, 86.0f, 77.7f, 77.8f, 77.9f, 78.0f, 78.1f, 78.0f, 77.9f, 77.8f, 77.7f, 25.3f, 72.8f, 42.5f, 74.5f, 74.4f, 74.3f, 74.2f, 74.1f, 74.2f, 74.3f, 74.4f, 74.5f, 90.6f, 30.0f, 66.5f, 11.2f, 64.2f, 64.3f, 64.4f, 64.5f, 64.6f, 64.5f, 64.4f, 64.3f, 64.2f, 18.8f, 49.3f, 60.3f, 51.1f, 52.5f, 52.4f, 52.3f, 52.2f, 52.1f, 52.0f, 51.9f, 51.8f,  1.8f, 70.5f, 69.2f, 79.8f, 86.7f, 86.6f, 86.5f, 86.4f, 86.3f, 86.4f, 86.5f, 86.6f, 86.7f, 17.9f, 80.8f, 23.9f, 89.6f, 36.0f, 35.9f, 35.8f, 35.7f, 35.6f, 35.7f, 35.8f, 35.9f, 36.0f, 95.8f, 28.9f, 71.6f,  5.3f, 60.0f, 60.1f, 60.2f, 60.3f, 60.4f, 60.3f, 60.2f, 60.1f, 60.0f, 45.2f, 16.2f, 50.6f, 34.1f, 68.4f, 68.3f, 68.2f, 68.1f, 68.0f, 67.9f, 67.8f, 67.7f, 67.6f, 89.9f, 27.1f, 14.4f, 98.9f, 63.8f, 63.9f, 64.0f, 64.1f, 64.2f, 64.1f, 64.0f, 63.9f, 63.8f, 54.8f, 22.6f, 41.1f, 91.4f, 47.9f, 47.8f, 47.7f, 47.6f, 47.5f, 47.6f, 47.7f, 47.8f, 47.9f, 58.5f, 70.8f, 11.3f, 58.6f, 58.7f, 58.8f, 58.9f, 59.0f, 58.9f, 58.8f, 58.7f, 58.6f, 35.3f, 76.8f, 44.2f, 96.7f, 52.0f, 51.9f, 51.8f, 51.7f, 51.6f, 51.5f, 51.4f, 51.3f, 51.2f, 20.3f, 93.8f, 37.8f, 61.8f, 30.6f, 30.7f, 30.8f, 30.9f, 31.0f, 30.9f, 30.8f, 30.7f, 30.6f, 12.1f, 84.4f,  2.9f, 63.2f, 69.7f, 69.6f, 69.5f, 69.4f, 69.3f, 69.4f, 69.5f, 69.6f, 69.7f, 55.4f, 81.6f, 32.4f,  6.0f, 79.8f, 79.9f, 80.0f, 80.1f, 80.2f, 80.1f, 80.0f, 79.9f, 79.8f, 88.2f, 21.3f, 45.1f, 90.3f, 42.3f, 42.2f, 42.1f, 42.0f, 41.9f, 41.8f, 41.7f, 41.6f, 41.5f, 62.9f, 97.6f, 53.1f, 24.7f, 66.0f, 65.9f, 65.8f, 65.7f, 65.6f, 65.7f, 65.8f, 65.9f, 66.0f, 49.6f, 83.5f, 38.6f, 10.4f, 77.6f, 77.5f, 77.4f, 77.3f, 77.2f, 77.3f, 77.4f, 77.5f, 77.6f,  3.1f, 60.6f, 88.0f, 92.6f, 74.6f, 74.7f, 74.8f, 74.9f, 75.0f, 74.9f, 74.8f, 74.7f, 74.6f, 31.4f, 13.4f, 55.7f, 64.5f, 50.2f, 50.1f, 50.0f, 49.9f, 49.8f, 49.9f, 50.0f, 50.1f, 50.2f, 58.0f, 67.8f, 41.3f, 96.8f, 72.3f, 72.2f, 72.1f, 72.0f, 71.9f, 71.8f, 71.7f, 71.6f, 71.5f, 29.7f, 81.9f, 18.0f, 46.4f, 34.3f, 34.4f, 34.5f, 34.6f, 34.7f, 34.6f, 34.5f, 34.4f, 34.3f, 85.7f, 14.3f, 26.5f, 56.9f, 61.6f, 61.5f, 61.4f, 61.3f, 61.2f, 61.1f, 61.0f, 60.9f, 60.8f, 43.6f, 89.0f,  7.1f, 75.2f, 39.2f, 39.1f, 39.0f, 38.9f, 38.8f, 38.9f, 39.0f, 39.1f, 39.2f, 94.9f, 23.7f, 48.2f, 87.2f, 52.8f, 52.9f, 53.0f, 53.1f, 53.2f, 53.1f, 53.0f, 52.9f, 52.8f, 12.8f, 97.0f, 20.7f, 68.9f, 73.1f, 73.0f, 72.9f, 72.8f, 72.7f, 72.6f, 72.5f, 72.4f, 72.3f, 54.6f, 15.5f, 40.1f, 30.8f, 63.5f, 63.4f, 63.3f, 63.2f, 63.1f, 63.0f, 62.9f, 62.8f, 62.7f, 49.2f,  5.9f, 91.5f, 84.7f, 51.0f, 50.9f, 50.8f, 50.7f, 50.6f, 50.7f, 50.8f, 50.9f, 51.0f, 78.7f, 36.4f, 59.9f, 95.3f, 44.9f, 44.8f, 44.7f, 44.6f, 44.5f, 44.4f, 44.3f, 44.2f, 44.1f, 83.6f, 25.9f, 32.1f, 11.1f, 67.5f, 67.4f, 67.3f, 67.2f, 67.1f, 67.2f, 67.3f, 67.4f, 67.5f, 52.7f, 98.0f, 19.5f, 60.7f, 28.1f, 28.0f, 27.9f, 27.8f, 27.7f, 27.8f, 27.9f, 28.0f, 28.1f, 70.7f, 54.5f, 13.5f, 77.1f, 41.2f, 41.1f, 41.0f, 40.9f, 40.8f, 40.7f, 40.6f, 40.5f, 40.4f, 59.4f, 90.0f,  6.7f, 85.4f, 69.5f, 69.6f, 69.7f, 69.8f, 69.9f, 70.0f, 70.1f, 70.2f, 70.3f, 38.0f, 12.4f, 95.2f, 57.1f, 50.4f, 50.3f, 50.2f, 50.1f, 50.0f, 49.9f, 49.8f, 49.7f, 49.6f, 61.7f, 27.6f, 43.1f, 83.8f, 73.4f, 73.5f, 73.6f, 73.7f, 73.8f, 73.7f, 73.6f, 73.5f, 73.4f, 16.3f, 97.2f, 21.5f, 66.2f, 47.1f, 47.2f, 47.3f, 47.4f, 47.5f, 47.4f, 47.3f, 47.2f, 47.1f, 33.5f, 76.3f, 42.9f,  4.3f, 62.4f, 62.3f, 62.2f, 62.1f, 62.0f, 61.9f, 61.8f, 61.7f, 61.6f, 82.4f, 24.4f, 58.4f,  9.7f, 90.4f, 90.3f, 90.2f, 90.1f, 90.0f, 89.9f, 89.8f, 89.7f, 89.6f, 34.9f, 14.7f, 30.2f, 96.2f, 52.4f, 52.3f, 52.2f, 52.1f, 52.0f, 51.9f, 51.8f, 51.7f, 51.6f, 71.8f, 59.2f, 10.6f, 84.2f, 63.7f, 63.8f, 63.9f, 64.0f, 64.1f, 64.0f, 63.9f, 63.8f, 63.7f, 46.6f, 18.2f, 45.4f, 82.0f, 78.6f, 78.5f, 78.4f, 78.3f, 78.2f, 78.3f, 78.4f, 78.5f, 78.6f, 95.4f, 32.6f, 23.3f, 68.8f, 41.8f, 41.7f, 41.6f, 41.5f, 41.4f, 41.3f, 41.2f, 41.1f, 41.0f, 58.9f, 27.4f, 56.1f, 88.7f, 50.8f, 50.9f, 51.0f, 51.1f, 51.2f, 51.1f, 51.0f, 50.9f, 50.8f, 12.9f, 72.1f, 33.3f, 67.9f, 74.9f, 74.8f, 74.7f, 74.6f, 74.5f, 74.6f, 74.7f, 74.8f, 74.9f, 49.0f, 21.9f, 61.2f, 93.6f, 55.3f, 55.2f, 55.1f, 55.0f, 55.1f, 55.2f, 55.3f, 55.4f, 55.5f, 43.4f, 61.0f, 47.3f, 47.4f
        
    //small extract taken from second chatGPT extract    
    //40.1f, 40.1f, 35.1f, 35.2f, 35.3f, 35.2f, 35.1f, 85.6f, 85.5f, 85.4f, 85.3f, 85.2f,19.6f, 19.7f, 19.8f, 19.9f, 20.0f, 19.9f, 19.8f, 63.5f    
   
    //this is second chatGPT extract   30032025/SummaryRange/5/4/ChatGPTgeneratedNumbersBetterDataSet.txt     
    //75.0f, 75.0f, 95.6f, 95.7f, 95.8f, 95.9f, 96.0f, 96.1f, 40.1f, 40.1f    //************************FAIL
        
    //this is second chatGPT extract
    //30032025/SummaryRange/5/4/ChatGPTgeneratedNumbersBetterDataSet.txt
    75.0f, 75.0f, 95.6f, 95.7f, 95.8f, 95.9f, 96.0f, 96.1f, 40.1f, 40.1f,35.1f, 35.2f, 35.3f, 35.2f, 35.1f, 85.6f, 85.5f, 85.4f, 85.3f, 85.2f, 19.6f, 19.7f, 19.8f, 19.9f, 20.0f, 19.9f, 19.8f, 63.5f, 14.9f, 14.9f, 48.6f, 48.5f, 48.4f, 48.3f, 48.2f, 48.3f, 48.4f, 48.5f, 48.6f, 65.2f, 82.1f, 82.2f, 82.3f, 82.4f, 82.5f, 82.4f, 82.3f, 82.2f, 82.1f, 28.9f, 28.8f, 28.7f, 28.6f, 28.5f, 28.4f, 28.3f, 28.2f, 28.1f, 28.0f, 39.0f, 33.6f, 33.7f, 33.8f, 33.9f, 34.0f, 34.1f, 34.2f, 34.3f, 75.9f, 75.9f, 54.3f, 54.2f, 54.1f, 54.0f, 53.9f, 54.0f, 54.1f, 54.2f, 54.3f, 11.5f, 91.4f, 91.5f, 91.6f, 91.7f, 91.8f, 91.7f, 91.6f, 91.5f, 91.4f, 66.8f, 66.9f, 67.0f, 67.1f, 67.2f, 67.3f,  7.7f,  7.7f, 49.6f, 49.6f, 49.6f, 57.7f, 57.8f, 57.9f, 58.0f, 58.1f, 58.0f, 57.9f, 57.8f, 57.7f, 24.2f, 70.5f, 70.4f, 70.3f, 70.2f, 70.1f, 70.0f, 69.9f, 69.8f, 69.7f, 92.2f, 31.3f, 31.4f, 31.5f, 31.6f, 31.7f, 31.8f, 31.7f, 31.6f, 31.5f, 31.4f, 13.3f, 13.3f, 86.4f, 86.3f, 86.2f, 86.1f, 86.0f, 85.9f, 85.8f, 85.7f, 45.0f, 45.1f, 45.2f, 45.3f, 45.4f, 45.5f, 45.4f, 45.3f, 45.2f, 45.1f, 22.2f, 22.2f, 22.2f, 99.0f, 98.9f, 98.8f, 98.7f, 98.6f, 98.5f, 98.6f, 98.7f, 98.8f, 98.9f, 99.0f, 12.8f, 12.9f, 13.0f, 13.1f, 13.2f, 13.3f, 13.4f, 13.5f, 13.6f, 13.7f, 55.4f, 55.5f, 55.6f, 55.7f, 55.8f, 55.9f, 55.8f, 55.7f, 55.6f, 55.5f, 40.2f, 40.2f, 40.2f, 83.0f, 82.9f, 82.8f, 82.7f, 82.6f, 82.5f, 82.4f, 82.5f, 82.6f, 82.7f, 82.8f,30.8f, 30.9f, 31.0f, 31.1f, 31.2f, 31.1f, 31.0f, 30.9f, 30.8f, 18.5f,62.9f, 63.0f, 63.1f, 63.2f, 63.3f, 63.4f, 63.3f, 63.2f, 63.1f, 63.0f,41.2f, 41.1f, 41.0f, 40.9f, 40.8f, 40.7f, 40.6f, 40.5f, 40.4f, 40.3f,18.7f, 18.8f, 18.9f, 18.8f, 18.7f, 60.7f, 60.6f, 60.5f, 60.4f, 60.3f,60.4f, 60.5f, 60.6f, 60.7f, 71.3f, 71.4f, 71.5f, 71.6f, 71.7f, 71.6f,71.5f, 71.4f, 71.3f, 55.1f
    
    //75.9f, 76.0f, 75.9f
       
    //***THESE ARE EXTRACTS FROM CHATGPT second extract.... *****
    //Trying to understand why failing after changes in code.. It now passes
    //75.9f, 75.9f, 54.3f, 54.2f, 54.1f, 54.0f, 53.9f, 54.0f, 54.1f, 54.2f, 54.3f, 11.5f  //(RESOLVED)
    //I am not sure where (53.9->54.0) has arisen from..
    //I will quickly investigate
    //[33.9->34.3, 75.9, 54.3->53.9, (53.9->54.0), 53.9->54.3, 11.5, 91.4->91.8]
       
    //34.1f,34.2f,34.3f,75.9f,75.9f,54.3f,54.2f,54.1f,54.0f,53.9f,54.0f,54.1f,54.2f,54.3f
       
       
    //focussing on 2-3 runs of ascending/descending and overlapping transition
    //*****************************************************
        
    //****PASS CASES*************************************************************************
    //3.5f,3.4f,3.0f,2.9f,2.5f,2.4f   //descending descending descending
    //3.5f,3.4f,3.0f,2.9f,4.5f,4.6f   //descending descending ascending
        
    //3.0f,2.7f,2.5f,2.4f,2.5f,2.6f  //changed last digit, want to see how it handles this  ****FAIL**************
    //3.5f,3.4f,3.5f,3.6f,32.1f,32.2f   //descending ascending ascending
       
    //5.0f,4.9f,4.8f  //most basic desecnding
    //47.3f, 47.4f,47.5f  //(RESOLVED)
    //47.3f, 47.4f
    //3.0f,2.7f,2.5f,2.4f,2.5f,2.6f  //(RESOLVED)
    //3.0f,2.7f,2.5f,2.4f,2.5f,4.0f  //exploring above scenario but the descend is slightly longer  ***FAIL**********  (RESOLVED)
         
    //2.5f,2.4f,2.5f
        
    //3.5f,3.6f, 3.5f, 3.6f, 3.5f,3.4f,3.0f,2.9f,2.5f,2.4f  //ascending descending ascending  descending descending descending
    //4.6f,3.5f,3.4f,3.5f,3.4f,6.7f,6.9f   //descending ascending descending        (NOW FAILS)-----------------------------
         
    //3.5f,3.6f,40.0f,40.1f   //it has not written  3.5f,3.6f,40.0f
    //new test cases exploring standalone repeat numbers
         
    //40.2f,40.2f,96.0f, 96.1f   //(standalone at front)
    //40.2f,40.2f,96.0f, 96.0f,33.4f   //(two standalones at front, repeat)
    //40.1f, 45.1f  //(it merges them, very basic error in my logic to resolve)
    ///3.5f,3.6f,40.0f,40.1f   //(simple ascending, ascending)
    //3.5f,3.6f,40.0f,40.1f,56.2f   //(simple ascending, ascending, then standalone)
        
    //3.5f,3.6f,40.0f,40.1f,56.2f,56.3f  //ascending ascending ascending   (writing 3.5->40.1, 56.2->56.3)
    //3.5f,3.6f,40.1f,4.1f,40.0f   //ascending standalone  (it has only written standalone cases)
       
    //small extract from chatGPT2
    //75.0f, 75.0f, 95.6f, 95.7f, 95.8f, 95.9f, 96.0f, 96.1f, 40.1f, 40.1f,35.1f, 35.2f, 35.3f, 35.2f, 35.1f, 85.6f, 85.5f, 85.4f, 85.3f, 85.2f, 19.6f, 19.7f, 19.8f, 19.9f, 20.0f, 19.9f, 19.8f, 63.5f, 14.9f, 14.9f, 48.6f, 48.5f, 48.4f, 48.3f, 48.2f, 48.3f, 48.4f, 48.5f, 48.6f, 65.2f, 82.1f, 82.2f, 82.3f, 82.4f, 82.5f, 82.4f, 82.3f, 82.2f, 82.1f, 28.9f, 28.8f, 28.7f, 28.6f, 28.5f, 28.4f, 28.3f, 28.2f, 28.1f, 28.0f, 39.0f, 33.6f, 33.7f, 33.8f, 33.9f, 34.0f, 34.1f, 34.2f, 34.3f, 75.9f, 75.9f, 54.3f, 54.2f, 54.1f, 54.0f, 53.9f, 54.0f, 54.1f, 54.2f, 54.3f, 11.5f, 
       
    //this now fails, so it appears that it needs to perform 0000Write when k==1-
    //3.5f,3.6f,40.0f  // (simple ascending, then standalone)
    //3.0f,2.5f,2.4f,2.5f,2.8f,2.9f  //(This is fine, but the next example, it writes 2.4->2.5 twice).
    //3.0f,2.7f,2.5f,2.4f,2.5f,4.0f  //exploring above scenario but the descend is slightly longer  ***FAIL**********  (RESOLVED)
    //40.2f,40.2f,96.0f, 96.1f,3.0f,3.0f   //(standalone at end both not writteny)
    //47.3f,40.0f,40.1f,3.5f   //failing adding range twice
    //96.0f, 96.1f, 40.1f, 40.1f  //(does not write standalones at end)
    //56.0f,96.0f, 96.1f,96.2f,96.3f, 40.1f, 40.1f,40.2f,40.2f  //(does not write standalones at end due to skipping iteration)
        
    //LATE TEST CASES**************************************************************************
    //***ISSUE WHEN 2 DESCENDING AT END*** (RESOLVED)
    //3.5f,3.6f,3.7f,3.8f,3.7f
    //3.5f,3.6f,3.7f,3.8f,3.7f,3.9f,4.0f
    //***ISSUE WHEN 4 DESCENDING AT END***
     //3.5f,3.6f,3.7f,3.8f,3.7f,45.5f,45.4f
    //*****NO ISSUE 2 ASCENDING AT END
     //3.5f,3.4f,3.3f,3.2f,3.3f
    //*****NO ISSUE 3 DESCENDING AT END
    //3.5f,3.6f,3.7f,3.8f,3.7f,3.6f
    //Now combining lots of these together...
    //3.5f,3.6f,3.7f,3.8f,3.7f,3.5f,3.6f,3.7f,3.8f,3.7f,3.6f,3.5f,3.6f,3.7f,3.8f,3.7f,3.9f,4.0f,3.5f,3.6f,3.7f,3.8f,3.7f,45.5f,45.4f
    //3.5f,3.6f,3.7f,3.5f,3.4f,3.3f,3.2f,25.0f,25.1f,49,3f,3.33f,3.7f,3.6f
    //3.5f,3.6f,3.7f,3.8f,3.7f,45.5f,45.4f
    //3.5f,3.6f,3.7f,3.8f,3.7f,3.8f
         
    //3.5f,3.6f,3.5f   //it is worth focussing on most simplest example to understand
    //3.5f,3.6f, 3.5f, 3.6f, 3.5f,3.4f,3.0f,2.9f,2.5f,2.4f  //ascending descending ascending  descending descending descending
    //so need to configure variable where it performs
       
    //3.5f,3.6f,3.5f,3.1f,3.0f,2.9f   //ascending descending descending
    //3.5f,3.6f,3.5f,3.6f   //ascending descending ascending 
    //3.5f,3.6f,3.5f,3.2f,3.1f   //ascending descending descending
            };


        System.out.println(summaryRanges(nums));
        System.out.println("Standalone numbers: " + standaloneCount + "   Ascending chains: " + ascendingChainsComplete + "   Descending chains: " + descendingChainsComplete);
    }
    
    public static String completeTicker(String start, String end)
    {
        boolean isStandalone=false;
        
        if (!start.equals("END") && !end.equals("END"))
        {
            if (start.equals(end))
            {
                ticker=ticker+"S";
                standaloneCount++;
                isStandalone=true;
            }
            
            if(!isStandalone)
            {
                if (Float.valueOf(end)>Float.valueOf(start))
                {
                    ticker=ticker+alternateTransition+"A"+"("+(ascendingCounter+1)+")";
                    ascendingChainsComplete++;
                }
                else
                {
                    ticker=ticker+alternateTransition+"D"+"("+counter+")";
                    descendingChainsComplete++;
                }
            }
        }
        ascendingCounter=0;
        
        return ticker;
    }
    
    public static List<String> summaryRanges(float[] nums) 
    {
        final float epsilon = 0.0005f;
        boolean writtenPrevious=false;   
        boolean combineMerge=false;
        
        String potentialfurtherAscendingBeyondThisStart="";
        String potentialfurtherAscendingBeyondThisEnd="";
        
        boolean hasNotWrittenLastNumber=true;
        String ticker = "-";
        int tickerNegativeCount;
        int tickerPositiveCount;
        
        boolean isFirstOccurenceAscendingChain=false;
        boolean isFirstOccurenceAscendingChainNoTransition =false;
        
        List<String> sm = new ArrayList<>();
        
        String start="";
        String end="";
        String temp="";
        String backupStart="";
        boolean hasTransition=false;
        float difference=0.1f;
        String message="";

        if (nums.length==1)
        {
            sm.add(String.valueOf(nums[0]));
            System.out.println("1Writing Standalone: " + nums[0]);
            completeTicker(String.valueOf(nums[0]),String.valueOf(nums[0]));
            
            return sm;
        }

        for (int k=0; k<nums.length-1;k++)
        {
            if (k==0)
            {
                start=String.valueOf(nums[k]);
            }
            
            if (nums[k]!=nums[k+1])
            {
                System.out.println("\nCHECKING: " + nums[k] + " with " + nums[k+1]);
                System.out.println("COUNTER: " + counter);
                
                if (!potentialfurtherAscendingBeyondThisStart.equals("") 
                && !(potentialfurtherAscendingBeyondThisEnd.equals("")) 
                && nums[k+1]<=Float.valueOf(potentialfurtherAscendingBeyondThisStart))
                {
                    if (potentialfurtherAscendingBeyondThisStart.equals(nums[k+1]))
                    {
                        potentialfurtherAscendingBeyondThisStart="";
                        potentialfurtherAscendingBeyondThisEnd="";
                    }
                }
                
                if (Math.abs(nums[k] - (nums[k+1] + difference)) <epsilon)
                {
                    System.out.println("Descending sequence (difference)");
                    
                    if (counter==0)
                    {
                        backupStart=String.valueOf(nums[k]);
                    }
                    
                    if (counter==0 && (k==nums.length-2))
                    {
                        if(!(potentialfurtherAscendingBeyondThisStart=="") && 
                        !(potentialfurtherAscendingBeyondThisEnd=="") 
                        && isFirstOccurenceAscendingChain)
                        {
                            sm.add(potentialfurtherAscendingBeyondThisStart+"->"+nums[k]);
                            System.out.println("--------------------2322USING STORED TO WRITE RANGE");
                            System.out.println("9705Writing range: " + potentialfurtherAscendingBeyondThisStart + "-> " + nums[k]);
                            completeTicker(potentialfurtherAscendingBeyondThisStart,String.valueOf(nums[k]));
                           
                            potentialfurtherAscendingBeyondThisStart="";
                            potentialfurtherAscendingBeyondThisEnd="";
                        }
                        
                         if (sm.isEmpty() && !isFirstOccurenceAscendingChain 
                        && !(potentialfurtherAscendingBeyondThisStart=="") 
                        && !(potentialfurtherAscendingBeyondThisEnd==""))
                        {
                            sm.add(potentialfurtherAscendingBeyondThisStart+"->"+nums[k]);
                            System.out.println("--------------------1980USING STORED TO WRITE RANGE");
                            System.out.println("43434Writing range: " + potentialfurtherAscendingBeyondThisStart + "-> " + potentialfurtherAscendingBeyondThisEnd);
                            completeTicker(potentialfurtherAscendingBeyondThisStart,potentialfurtherAscendingBeyondThisEnd);
                            potentialfurtherAscendingBeyondThisStart="";
                            potentialfurtherAscendingBeyondThisEnd="";
                        }
                        
                        start=String.valueOf(nums[k]);
                        end = String.valueOf(nums[k+1]);
                        sm.add(start+"->"+end);
                        System.out.println("5Writing range: " + start + "-> " + end);
                        completeTicker(start,end);
                            
                        isFirstOccurenceAscendingChain=false;
                        isFirstOccurenceAscendingChainNoTransition =false;
                        break;
                    }
                        
                    if (counter!=0 && (k==nums.length-2))
                    {
                        end=String.valueOf(nums[k+1]);
                        sm.add(start +"->"+end);
                        System.out.println("6Writing range: " + start + "-> " + end); 
                        completeTicker(start,end);
                    }
                    
                    if (counter==0)
                    {
                        if (isFirstOccurenceAscendingChainNoTransition || isFirstOccurenceAscendingChain)
                        {
                            end=String.valueOf(nums[k]);
                            sm.add(start+"->"+end);
                            System.out.println("28Writing range: " + start + "-> " + end);
                            completeTicker(start,end);
                            isFirstOccurenceAscendingChain=false;
                            isFirstOccurenceAscendingChainNoTransition =false;
                        }
                        else
                        {
                            if (String.valueOf(nums[k+1]).equals(potentialfurtherAscendingBeyondThisStart))
                            {
                                System.out.println("123456using stored start");
                                sm.add(potentialfurtherAscendingBeyondThisStart+"->"+potentialfurtherAscendingBeyondThisEnd);
                System.out.println("197618Writing range: " + potentialfurtherAscendingBeyondThisStart+"->"+potentialfurtherAscendingBeyondThisEnd);
                                completeTicker(potentialfurtherAscendingBeyondThisStart,potentialfurtherAscendingBeyondThisEnd);
                                    
                                if (String.valueOf(nums[k+2]).equals(potentialfurtherAscendingBeyondThisEnd))
                                {
System.out.println("same pattern to emerge as the store: " + "("+potentialfurtherAscendingBeyondThisStart+","+potentialfurtherAscendingBeyondThisEnd+")");
                                }
                                potentialfurtherAscendingBeyondThisStart="";
                                potentialfurtherAscendingBeyondThisEnd="";
                            }
                        }
                        
                        start=String.valueOf(nums[k]);
                        System.out.println("Establishing start: " + start);
                        
                        if (k==nums.length-1)
                        {
                            System.out.println("2Writing Standalone: " + start);
                            completeTicker(start,start);
                                
                            sm.add(start);
                        }
                    }
                    counter++; 
                }  
                else
                {
                    if (k==nums.length-2)
                    {
                        if (temp!="")
                        {
                            sm.add(temp);
                            System.out.println("9Writing range: " + temp);
                            completeTicker(backupStart,end);
                                
                            isFirstOccurenceAscendingChain=false;
                            isFirstOccurenceAscendingChainNoTransition =false;
                        }
                            
                        if (counter==0)
                        {
                            if (Math.abs(nums[k] - (nums[k+1] + difference)) <epsilon)
                            {
                                ticker = ticker + " -";
                                start=String.valueOf(nums[k]);
                                end = String.valueOf(nums[k+1]);
                                sm.add(start+"->"+end);
                                System.out.println("7Writing range: " + start + "-> " + end);
                                completeTicker(start,end);
                                    
                                isFirstOccurenceAscendingChain=false;
                                isFirstOccurenceAscendingChainNoTransition =false;
                            }
                            else
                            {
                                end = String.valueOf(nums[k]);
                            
                                if (isFirstOccurenceAscendingChainNoTransition || isFirstOccurenceAscendingChain)
                                {
                                    if (Math.abs(nums[k] - (nums[k+1] - difference)) <epsilon)
                                    {
                                        end=String.valueOf(nums[k+1]);
                                        sm.add(start+"->"+end);
                                        System.out.println("35Writing range: " + start + "-> " + end);
                                        completeTicker(start,end);
                                            
                                        hasNotWrittenLastNumber=false;
                                        isFirstOccurenceAscendingChain=false;
                                        isFirstOccurenceAscendingChainNoTransition =false;
                                    }
                                    else
                                    {
                                        end=String.valueOf(nums[k]);
                                        sm.add(start+"->"+end);
                                        System.out.println("27Writing range: " + start + "-> " + end); 
                                        completeTicker(start,end);
                                    }
                                }     
                                else
                                {
                                    if (temp=="")
                                    {
                                        if (nums.length==2)
                                        {
                                            if ((Math.abs(nums[k] - (nums[k+1] + difference)) <epsilon) || 
                                            (Math.abs(nums[k] - (nums[k+1] - difference)) <epsilon))
                                            {
                                                System.out.println("next number within difference");
                                                start=String.valueOf(nums[k]);
                                                end=String.valueOf(nums[k+1]);
                                                sm.add(start+"->"+end);
                                        System.out.println("2678Writing range, only two ascending numbers in array: " + start + "-> " + end);
                                                completeTicker(start,end);
                                                break;
                                            }
                                            else
                                            {
                                                System.out.println("3next number NOT within difference");
                                                start=String.valueOf(nums[k]);
                                                System.out.println("234Writing Standalone: " + start);
                                                completeTicker(start,start);
                                                sm.add(start);
                                                start=String.valueOf(nums[k+1]);
                                                sm.add(start);
                                                System.out.println("2348Writing Standalone: " + start);
                                                completeTicker(start,start);
                                                break;
                                            }
                                        }
                                            
                                        if (Math.abs(nums[k] - (nums[k-1] + difference)) <epsilon)
                                        {
                                            if (Math.abs(nums[k] - (nums[k+1] - difference)) <epsilon)
                                            {
                                                if (writtenPrevious)
                                                {
                                                    start=potentialfurtherAscendingBeyondThisStart;
                                                    end=String.valueOf(nums[k+1]);
                                                    sm.add(start+"->"+end);
                                                    System.out.println("6098Writing range: " + start + "-> " + end);
                                                    completeTicker(start,end);
                                                }
                                                else
                                                {
                                                    start=String.valueOf(nums[k-1]);
                                                    end=String.valueOf(nums[k+1]);
                                                    sm.add(start+"->"+end);
                                                    System.out.println("9876Writing range: " + start + "-> " + end);
                                                    completeTicker(start,end);
                                                    potentialfurtherAscendingBeyondThisStart="";
                                                    potentialfurtherAscendingBeyondThisStart="";
                                                }
                                                
                                                writtenPrevious=false;
                                            }
                                            else
                                            {
                                                if (writtenPrevious)
                                                {
                                                    System.out.println("6111using stored start");
                                                    sm.add(potentialfurtherAscendingBeyondThisStart+"->"+potentialfurtherAscendingBeyondThisEnd);
                                                    System.out.println("197618Writing range: " + potentialfurtherAscendingBeyondThisStart+"->"+potentialfurtherAscendingBeyondThisEnd);
                                                    completeTicker(potentialfurtherAscendingBeyondThisStart,potentialfurtherAscendingBeyondThisEnd);
                                                    writtenPrevious=false;
                                                    potentialfurtherAscendingBeyondThisStart="";
                                                    potentialfurtherAscendingBeyondThisEnd="";
                                                }
                                                    
                                                if (k==1 && nums.length>=3)
                                                {
                                                    start=String.valueOf(nums[k-1]);
                                                    end=String.valueOf(nums[k]);
                                                    sm.add(start+"->"+end);    
                                                
                                                    System.out.println("00000Writing range: " + start+"->"+end);
                                                    completeTicker(start,end);
                                                }
                                                    
                                                if (k+1==nums.length-1)
                                                {
                                                    start=String.valueOf(nums[k+1]);
                                                    sm.add(start);
                                                    System.out.println("0241Writing Standalone: " + start);
                                                    completeTicker(start,start);
                                                    break;
                                                }
                                            }
                                        }
                                        else
                                        {
                                            if (!(Math.abs(nums[k] - (nums[k+1] - difference)) <epsilon))
                                            {
                                                System.out.println("previous and next number not within difference");
                                                    
                                                start=String.valueOf(nums[k]);
                                                sm.add(start);
                                                System.out.println("009Writing Standalone: " + start);
                                                completeTicker(start,start);
                                            
                                                start=String.valueOf(nums[k+1]);
                                                sm.add(start);
                                                System.out.println("0089Writing Standalone: " + start);
                                                completeTicker(start,start);
                                            }
                                            else 
                                            {
                                                System.out.println("previous number not within difference, next number within difference");
                                                    
                                                if(!(potentialfurtherAscendingBeyondThisStart=="") 
                                                && !(potentialfurtherAscendingBeyondThisEnd=="") && isFirstOccurenceAscendingChain)
                                                {
                                                    sm.add(potentialfurtherAscendingBeyondThisStart+"->"+potentialfurtherAscendingBeyondThisEnd);
                                                    System.out.println("--------------------2322USING STORED");
                System.out.println("2025Writing range: " + potentialfurtherAscendingBeyondThisStart + "-> " + potentialfurtherAscendingBeyondThisEnd);
                                                }
                                                    
                                                start=String.valueOf(nums[k]);
                                                end=String.valueOf(nums[k+1]);
                                                sm.add(start+"->"+end);
                                                System.out.println("1992Writing range: " + start + "-> " + end);
                                                completeTicker(start,end);
                                                    
                                                isFirstOccurenceAscendingChain=false;
                                                isFirstOccurenceAscendingChainNoTransition=false;
                                            }
                                        }
                                        combineMerge=true;
                                    }
                                }
                            
                                if (hasNotWrittenLastNumber && !combineMerge)
                                {
                                    start=String.valueOf(nums[k+1]);
                                    System.out.println("4Writing Standalone: " + start);
                                    completeTicker(start,start);
                                        
                                    sm.add(start);
                                    hasNotWrittenLastNumber=false;
                                }
                            }
                        }
                        else   
                        {
                            end=String.valueOf(nums[k]);
                            sm.add(start+"->"+end);
                            System.out.println("3Writing range: " + start + "-> " + end);
                            completeTicker(start,end);
                        
                            if ( (Math.abs(nums[k] - (nums[k+1] - difference)) <epsilon)   
                            ||   (Math.abs(nums[k] - (nums[k+1] + difference)) <epsilon))
                            {
                                System.out.println("ascending/descending - next number within diffference");
                                start=String.valueOf(nums[k]);
                                end=String.valueOf(nums[k+1]);
                                sm.add(start+"->"+end);
                                System.out.println("49Writing range: " + start + "-> " + end);
                                completeTicker(start,end);
                                    
                                isFirstOccurenceAscendingChain=false;
                                isFirstOccurenceAscendingChainNoTransition =false;
                            }
                            else
                            {
                                System.out.println("4Next number not within difference");
                                start=String.valueOf(nums[k+1]);
                                sm.add(start);
                                System.out.println("599Writing standalone: " + start);
                                completeTicker(start,start);
                            }
                        }
                    }
                    else
                    {
                        if (Math.abs(nums[k] - (nums[k+1] + difference)) <epsilon)
                        {
                            System.out.println("next number descending (difference)");
                            end=String.valueOf(nums[k+1]);
                        }
                        else
                        {
                            System.out.println("next number ascending or descending (not within difference)");
                            end=String.valueOf(nums[k]);
                        }
                        
                        if (counter==0)
                        {
                            if(k==0)
                            {
                                if (Math.abs(nums[k] - (nums[k+1] + difference)) <epsilon)
                                {
                                    System.out.println("next number descending (difference)");
                                    
                                    if (writtenPrevious)
                                    {
                                        System.out.println("7777using stored start");
                                        sm.add(potentialfurtherAscendingBeyondThisStart+"->"+end);
                                        System.out.println("197617Writing range: " + start+"->"+end);
                                        completeTicker(start,end);
                                            
                                        writtenPrevious=false;
                                        potentialfurtherAscendingBeyondThisStart="";
                                        potentialfurtherAscendingBeyondThisEnd="";
                                    }
                                    start=String.valueOf(nums[k]);
                                    counter++;
                                }
                                else
                                {
                                    if (Math.abs(nums[k] - (nums[k+1] - difference)) <epsilon)
                                    {
                                        System.out.println("next number ascending (difference)");
                                        start=String.valueOf(nums[k]);
                                        end=String.valueOf(nums[k+1]);
                                        
                                        potentialfurtherAscendingBeyondThisStart = start; 
                                        potentialfurtherAscendingBeyondThisEnd = end;
                                        System.out.println("--------------------------------------Stored start -> end: " + start + "->" + end);
                                        isFirstOccurenceAscendingChain=false;
                                        isFirstOccurenceAscendingChainNoTransition =false;
                                    }
                                    else
                                    {
                                        System.out.println("2next number NOT within difference");
                                        System.out.println("5Writing standalone: " + start);
                                        completeTicker(start,start);
                                            
                                        sm.add(start);
                                    }
                                }
                            }
                            else
                            {
                                if (Math.abs(nums[k] - (nums[k+1] + difference)) <epsilon)
                                {
                                    System.out.println("next number descending (difference)");
                                    
                                    if (temp=="")
                                    {
                                        if (Math.abs(nums[k] - (nums[k-1] + difference)) <epsilon)
                                        {
                                            backupStart=String.valueOf(nums[k-1]);
                                        }
                                        else
                                        {
                                            backupStart=String.valueOf(nums[k]);
                                        }
                                    
                                        temp=backupStart+"->"+end;
                                        hasTransition=false;
                                    }
                                    else
                                    {
                                        end=String.valueOf(nums[k+1]);
                                        temp=backupStart+"->"+end;
                                        hasTransition=false;
                                    }
                                    System.out.println("8Storing range: " + temp);
                                }
                                else
                                {
                                    System.out.println("next number ascending or descending (not within difference)");
                                    
                                    if(temp!="")
                                    {
                                        sm.add(temp);
                                        System.out.println("8Writing range: " + temp);
                                        completeTicker(backupStart,end);
                                           
                                        temp="";
                                        backupStart="";
                                        isFirstOccurenceAscendingChain=false;
                                        isFirstOccurenceAscendingChainNoTransition =false;
                                    }
                                    else
                                    {
                                        if ((Math.abs(nums[k] - (nums[k-1] + difference)) <epsilon) 
                                        ||   (Math.abs(nums[k] - (nums[k+1] - difference)) <epsilon))
                                        {
                                            System.out.println("previous number descending or next number ascending (difference)");
                                            end = String.valueOf(nums[k]);
                                            
                                            if  (Math.abs(nums[k] - (nums[k+1] - difference))<epsilon)
                                            {
                                                System.out.println("Next number ascending");
                                                ascendingCounter++;
                                                if (!isFirstOccurenceAscendingChainNoTransition)
                                                {
                                                    start=String.valueOf(nums[k]);
                                                    
                                                    isFirstOccurenceAscendingChainNoTransition=true;
                                                }
                                                    
                                                if ((Math.abs(nums[k] - (nums[k-1] + difference)) <epsilon) 
                                                &&   (Math.abs(nums[k] - (nums[k+1] - difference))<epsilon))
                                                {
                                                    System.out.println("previous number ascending(difference) or descending (difference)");
                                                    
                                                    if (!isFirstOccurenceAscendingChain)
                                                    {
                                                        start=String.valueOf(nums[k-1]);
                                                            
                                                        isFirstOccurenceAscendingChain=true;
                                                    }
                                                }
                                            }
                                            else
                                            {
                                                if (!potentialfurtherAscendingBeyondThisStart.equals("") 
                                                && !(potentialfurtherAscendingBeyondThisEnd.equals("")))
                                                {
                                                    System.out.println("using stored start");
                                                    sm.add(start+"->"+end);
                                                    System.out.println("197619Writing range: " + start+"->"+end);
                                                    completeTicker(start,end);
                                                }
                                                else
                                                {
                                                    sm.add(start+"->"+end);
                                                    System.out.println("1541Writing range: " + start+"->"+end);
                                                    completeTicker(start,end);
                                                }
                                                
                                                potentialfurtherAscendingBeyondThisEnd="";
                                                potentialfurtherAscendingBeyondThisStart="";
                                        
                                                isFirstOccurenceAscendingChain=false;
                                                isFirstOccurenceAscendingChainNoTransition=false;
                                                isFirstOccurenceAscendingChain=false;
                                                isFirstOccurenceAscendingChainNoTransition =false;
                                            }
                                        }
                                        else 
                                        {
                                            System.out.println("previous number ascending or next number descending");
                                            if (potentialfurtherAscendingBeyondThisStart!="" && potentialfurtherAscendingBeyondThisEnd!="")
                                            {
                                                System.out.println("using stored start");
                                                sm.add(potentialfurtherAscendingBeyondThisStart+"->"+potentialfurtherAscendingBeyondThisEnd);
                    System.out.println("888881Writing range: " +potentialfurtherAscendingBeyondThisStart+"->"+potentialfurtherAscendingBeyondThisEnd);
                                                completeTicker(potentialfurtherAscendingBeyondThisStart,potentialfurtherAscendingBeyondThisEnd);
                                                potentialfurtherAscendingBeyondThisEnd="";
                                                potentialfurtherAscendingBeyondThisStart="";
                                            }
                                            else
                                            {
                                                start = String.valueOf(nums[k]);
                                                sm.add(start);
                                                System.out.println("6Writing Standalone: " + start);
                                                completeTicker(start,start);
                                                    
                                                isFirstOccurenceAscendingChain=false;
                                                isFirstOccurenceAscendingChainNoTransition=false;
                                            }
                                        }
                                    }  
                                }
                            }
                        }
                        else
                        {
                            if ((Math.abs(nums[k] - (nums[k-1] + difference)) <epsilon)  
                            && (Math.abs(nums[k] - (nums[k+1] + difference)) <epsilon))
                            {
                                end=String.valueOf(nums[k]);
                                sm.add(backupStart+"->"+end);
                                System.out.println("10Writing range: " + backupStart+"->"+end);
                                completeTicker(backupStart,end);
                                    
                                hasTransition=true;
                                isFirstOccurenceAscendingChain=false;
                                isFirstOccurenceAscendingChainNoTransition =false;
                            }
                                
                            if (!hasTransition)
                            {
                                if (temp!="")
                                {
                                    end=String.valueOf(nums[k+1]);
                                    sm.add(start+"->"+end);
                                }
                                else
                                {
                                    if ((Math.abs(nums[k] - (nums[k-1] - difference)) <epsilon) 
                                    && (Math.abs(nums[k] - (nums[k+1] - difference)) <epsilon))
                                    {
                                        System.out.println("previous number ascending and next number ascending (difference)");
                                        System.out.println("3121Writing range: " + start + "-> " + end);
                                        completeTicker(start,end);
                                            
                                        sm.add(start+"->"+end);
                                        end=String.valueOf(nums[k+1]);
                                        start=String.valueOf(nums[k]);
                                        potentialfurtherAscendingBeyondThisStart = start; 
                                        potentialfurtherAscendingBeyondThisEnd = end;
                                        System.out.println("--------------------------------------Stored start -> end: " + start + "->" + end);
                                        writtenPrevious=true;
                                        
                                        if (((nums.length-1)-(k+1))==1)
                                        {
                                                
                                        }
                                    }
                                    else
                                    {
                                        System.out.println("previous number ascending(not difference) or descending AND next number ascending (not difference) or descending");
                                        System.out.println("2Writing range: " + start + "-> " + end);
                                        System.out.println("------"+counter);
                                        completeTicker(start,end);
                                        sm.add(start+"->"+end);
                                    }
                                    
                                    isFirstOccurenceAscendingChain=false;
                                    isFirstOccurenceAscendingChainNoTransition =false;
                                }
                            }
                            counter=0;
                            temp="";
                            backupStart="";
                            hasTransition=false;
                        }
                    }
                }
            }
            else 
            {
                if (k==(nums.length-2))
                {
                    start = String.valueOf(nums[k]);
                    sm.add(start);
                    System.out.println("07774544Writing Standalone: " + start);
                    completeTicker(start,start);
                }
                start = String.valueOf(nums[k]);
                sm.add(start);
                System.out.println("019238475Writing Standalone: " + start);
                completeTicker(start,start);
            }
        }
        System.out.println("\nTICKER: " + completeTicker("END","END"));
        return sm;
    }
}