     OutputTypes eTypeOfOutput = eBeliefs;
 
     string sLayerSpecs = argv[3];
-        int iColon = sLayerSpecs.find(":");
-        if ( iColon == -1 || sLayerSpecs.substr(iColon).empty() )  //first layer = last layer, and no sampling specified.
-        {
-            // S
-            FirstLayerToShowHECK=atoi(sLayerSpecs.c_str());
-            LastLayerToShow=FirstLayerToShowHECK;
-        }
-        else
-        {
-            // S:E
-            FirstLayerToShowHECK=atoi(sLayerSpecs.substr(0,1).c_str());
-            LastLayerToShow=atoi(sLayerSpecs.substr(iColon+1,1).c_str());
+    int iColon = sLayerSpecs.find(":");
+    if ( iColon == -1 || sLayerSpecs.substr(iColon).empty() )  //first layer = last layer, and no sampling specified.
+    {
+        // S
+        FirstLayerToShowHECK=atoi(sLayerSpecs.c_str());
+        LastLayerToShow=FirstLayerToShowHECK;
+    }
+    else
+    {
+        // S:E
+        FirstLayerToShowHECK=atoi(sLayerSpecs.substr(0,1).c_str());
+        LastLayerToShow=atoi(sLayerSpecs.substr(iColon+1,1).c_str());
+        sLayerSpecs = sLayerSpecs.substr(iColon+1);
+        iColon = sLayerSpecs.find(":");
+        if ( iColon!=-1 || !( sLayerSpecs.substr(iColon).empty() ) )
+        {
+            //S:E:O
             sLayerSpecs = sLayerSpecs.substr(iColon+1);
+            iMovementOutputOffset = atoi(sLayerSpecs.substr(0,1).c_str());
             iColon = sLayerSpecs.find(":");
             if ( iColon!=-1 || !( sLayerSpecs.substr(iColon).empty() ) )
             {
-                //S:E:O
+                //S:E:O:P
                 sLayerSpecs = sLayerSpecs.substr(iColon+1);
-                iMovementOutputOffset = atoi(sLayerSpecs.substr(0,1).c_str());
+                iMovementOutputPeriod = atoi(sLayerSpecs.substr(0,1).c_str());
                 iColon = sLayerSpecs.find(":");
                 if ( iColon!=-1 || !( sLayerSpecs.substr(iColon).empty() ) )
                 {
-                    //S:E:O:P
+                    //S:E:O:P:T
                     sLayerSpecs = sLayerSpecs.substr(iColon+1);
-                    iMovementOutputPeriod = atoi(sLayerSpecs.substr(0,1).c_str());
-                    iColon = sLayerSpecs.find(":");
-                    if ( iColon!=-1 || !( sLayerSpecs.substr(iColon).empty() ) )
+                    if ( sLayerSpecs.substr(0,1)=="A" )
                     {
-                        //S:E:O:P:T
-                        sLayerSpecs = sLayerSpecs.substr(iColon+1);
-                        if ( sLayerSpecs.substr(0,1)=="A" )
-                        {
-                            eTypeOfOutput = eBeliefInAdviceTabular;
-                        }
-                        else if ( sLayerSpecs.substr(0,1)=="B" )
-                        {
-                            eTypeOfOutput = eBeliefs;
-                        }
-                        else if ( sLayerSpecs.substr(0,1)=="N" )
-                        {
-                            eTypeOfOutput = eBeliefInAdviceNNFA;
-                        }
-                        else if ( sLayerSpecs.substr(0,1)=="L" )
-                        {
-                            eTypeOfOutput = eBeliefInAdviceLinearFA;
-                        }
-                        else
-                        {
-                            cout << "Do not understand the output type " << sLayerSpecs.c_str() << endl;
-                            return 0;
-                        }
+                        eTypeOfOutput = eBeliefInAdviceTabular;
+                    }
+                    else if ( sLayerSpecs.substr(0,1)=="B" )
+                    {
+                        eTypeOfOutput = eBeliefs;
+                    }
+                    else if ( sLayerSpecs.substr(0,1)=="N" )
+                    {
+                        eTypeOfOutput = eBeliefInAdviceNNFA;
+                    }
+                    else if ( sLayerSpecs.substr(0,1)=="L" )
+                    {
+                        eTypeOfOutput = eBeliefInAdviceLinearFA;
+                    }
+                    else
+                    {
+                        cout << "Do not understand the output type " << sLayerSpecs.c_str() << endl;
+                        return 0;
                     }
                 }
             }
         }
+    }
 
     // Argument: TargetDirectory
     // A given location instead or default

    }
    // end of data loading

    return 0;
}



    cout << "Usage: DestinCuda CodeWord MAXCNT LayerToShow ParamsFile TrainingDataFile DestinOutputFile TargetDirectory [OutputDistillationLevel]" << endl;
    cout << "Where:" << endl;
    cout << "    CodeWord is greater than 1000 but must have 11 digits RRRR XX YYYYY" << endl;
    cout << "        RRRR >= 0000 to 9999 where 0000 is real random time" << endl;
    cout << "        XX    = 01 to 10 number of classes" << endl;
    cout << "        YYYYY = 00000 to 99999 number of examples of each class." << endl;
    cout << "                00000 means RANDOMLY PICK EXAMPLES until we finish clustering, period, up to max iterations." << endl;
    cout << "        RRRRXXYYYYY where RRRR is reserved, XX is number of classes, YYYYY is number of examples" << endl;
    cout << "    MAXCNT is the number of digits we show it to train the unsupervised DeSTIN architecture" << endl;
    cout << "    LayerToShow = layer written to output file; it is given as S:E:O:P:T where " << endl;
