diff --git a/UD_any/print_results.py b/UD_any/print_results.py
index a17da5e77fd9e2649971d3cb4db8a9de034b3b73..976b85a9e370796810539964c76e8c4598cf1f68 100755
--- a/UD_any/print_results.py
+++ b/UD_any/print_results.py
@@ -18,9 +18,10 @@ if __name__ == "__main__" :
         print("\t"+line,end="", file=sys.stderr)
 
   for pathToFile in glob.iglob("" + '*stdout') :
-    model = pathToFile.split('.')[0]
-    corpus = (".".join(pathToFile.split('.')[1:])).split('.')[0]
-    index = (".".join(pathToFile.split('.')[1:])).split('.')[1]
+    splited = pathToFile.split('.')
+    model = ".".join(splited[:-3])
+    corpus = splited[-3]
+    index = splited[-2]
 
     if corpus not in outputByModelScore :
       outputByModelScore[corpus] = dict()
@@ -50,29 +51,32 @@ if __name__ == "__main__" :
             standardDeviation += (float(exp[2])-score)**2
           standardDeviation /= len(outputByModelScore[corpus][model][metric])
           standardDeviation = math.sqrt(standardDeviation)
+        baseScore = score
         if standardDeviation > 0 :
           score = "%.2f[±%.2f]%%"%(score,standardDeviation)
         else :
           score = "%.2f%%"%score
+        if '-' in score :
+          score = score.replace('-','').replace('%','')
         output.append(outputByModelScore[corpus][model][metric][0])
         output[-1][2] = score
+        output[-1] = [baseScore] + output[-1]
 
   if len(output) == 0 :
     print("ERROR : Output length is 0", file=sys.stderr)
     print("  did you run evaluate.sh ?", file=sys.stderr)
     exit(1)
 
+  output.sort()
+  output = [val[1:] for val in output]
+
   maxColLens = [0 for _ in range(len(output[0]))]
 
   output = [["Corpus","Metric","F1.score","Model"]] + output
 
   for line in output :
     for i in range(len(line)) :
-      maxColLens[i] = max(maxColLens[i], len(line[i]))
-
-  output = output[1:]
-  output.sort()
-  output = [["Corpus","Metric","F1.score","Model"]] + output
+      maxColLens[i] = max(maxColLens[i], len(str(line[i])))
 
   dashLine = '-' * 80
   for i in range(len(output)) :
@@ -81,6 +85,6 @@ if __name__ == "__main__" :
     elif i > 0 and output[i][1] != output[i-1][1] :
       print("")
     for j in range(len(output[i])) :
-      padding = (' '*(maxColLens[j]-len(output[i][j])))+" "*3
+      padding = (' '*(maxColLens[j]-len(str(output[i][j]))))+" "*3
       print(output[i][j], end=padding)
     print("")