    [{:agr {:synsem {:subcat {:1 {:agr {:number :sing
                                        :person :1st}}}}}
      :p [
-         #"^([^' ]+)o$"         "$1are"
-         #"^([^' ]+)o$"         "$1ere"
-         #"^([^' ]+)isco$"      "$1ire"
-         #"^([^' ]+)o$"         "$1ire"
-         #"^([^' ]+)o$"         "$1arsi" ;; alzo -> alzarsi
-         #"^([^' ]+)o$"         "$1irsi" ;; diverto -> divertirso
-         #"^([^' ]+)ico$"       "$1ire" ;; dico -> dire
-         ]}
-    {:agr {:synsem {:subcat {:1 {:agr {:number :sing
-                                       :person :2nd}}}}}
-     :p [
-         #"^([^' ]+)i$"         "$1are" ;; lavi -> lavare
-         #"^([^' ]+)i$"         "$1iare" ;; studi -> studiare
-         #"^([^' ]+)i$"         "$1arsi" ;; lavi -> lavarsi
-         #"^([^' ]+)cci$"       "$1cciare" ;; abbracci -> abbracciare
-         #"^([^' ]+)i$"         "$1ere"
-         #"^([^' ]+)i$"         "$1ire" ;; senti -> sentire
-         #"^([^' ]+c)hi$"       "$1are" ;; cerchi -> cercare
-         #"^([^' ]+)i$"         "$1iarsi" ;; arrabi -> arrabiarsi
-         #"^([^' ]+)sci$"       "$1re" ;; finisci -> finire
-         #"^([^' ]+)i$"         "$1irsi" ;; diverti -> divertirsi
-         #"^([^' ]+)ici$"       "$1ire" ;; dici -> dire
-         #"^([^' ]+)hi$"        "$1are" ;; pieghi -> piegare
+         #"(.*)o$"         "$1are"
+         #"(.*)o$"         "$1ere"
+         #"(.*)isco$"      "$1ire"
+         #"(.*)o$"         "$1ire"
+         #"(.*)o$"         "$1arsi" ;; alzo -> alzarsi
+         #"(.*)o$"         "$1irsi" ;; diverto -> divertirso
+         #"(.*)ico$"       "$1ire" ;; dico -> dire
+         ]}
+    {:agr {:synsem {:subcat {:1 {:agr {:number :sing
+                                       :person :2nd}}}}}
+     :p [
+         #"(.*)i$"         "$1are" ;; lavi -> lavare
+         #"(.*)i$"         "$1iare" ;; studi -> studiare
+         #"(.*)i$"         "$1arsi" ;; lavi -> lavarsi
+         #"(.*)cci$"       "$1cciare" ;; abbracci -> abbracciare
+         #"(.*)i$"         "$1ere"
+         #"(.*)i$"         "$1ire" ;; senti -> sentire
+         #"(.*c)hi$"       "$1are" ;; cerchi -> cercare
+         #"(.*)i$"         "$1iarsi" ;; arrabi -> arrabiarsi
+         #"(.*)sci$"       "$1re" ;; finisci -> finire
+         #"(.*)i$"         "$1irsi" ;; diverti -> divertirsi
+         #"(.*)ici$"       "$1ire" ;; dici -> dire
+         #"(.*)hi$"        "$1are" ;; pieghi -> piegare
          ]}  
 
     {:agr {:synsem {:subcat {:1 {:agr {:number :sing
                                        :person :3rd}}}}}
      
      :p [
-         #"^([^' ]+)a$"         "$1are"
-         #"^([^' ]+)e$"         "$1ere"
-         #"^([^' ]+)e$"         "$1ire"
-         #"^([^' ]+)a$"         "$1arsi" ;; prepara -> preperarsi
-         #"^([^' ]+)sce$"       "$1re" ;; finisce -> finire
-         #"^([^' ]+)te$"        "$1tirsi" ;; diverte -> divertirsi
-         #"^([^' ]+)ice$"       "$1ire" ;; dice -> dire
-         ]}
-
-    {:agr {:synsem {:subcat {:1 {:agr {:number :plur
-                                       :person :1st}}}}}
-     :p [
-         #"^([^' ]+)iamo$"      "$1are"  ;; parliamo -> parlare
-         #"^([^' ]+)iamo$"      "$1iare" ;; mangiamo -> mangiare
-         #"^([^' ]+)iamo$"      "$1ere"
-         #"^([^' ]+)iamo$"      "$1ire"
-         #"^([^' ]+c)hiamo$"    "$1are" ;; sprechiamo -> sprecare
-         #"^([^' ]+)iamo$"      "$1iarsi" ;; arrabiamo -> arrabiarsi
-         #"^([^' ]+)iamo$"      "$1arsi" ;; chiamiamo -> chiamarsi
-         #"^([^' ]+)iamo$"      "$1irsi" ;; divertiamo -> divertirsi
-         #"^([^' ]+)ciamo$"     "$1re" ;; diciamo -> dire
-         #"^([^' ]+)hiamo$"     "$1are" ;; pieghiamo -> piegare
-         ]}
-
-    {:agr {:synsem {:subcat {:1 {:agr {:number :plur
-                                       :person :2nd}}}}}
-     :p [
-         #"^([^' ]+)([aei])te$" "$1$2re" ;; parlate -> parlare
-         #"^([^' ]+)([aei])te$" "$1$2rsi" ;; chiamate -> chiamarsi
+         #"(.*)a$"         "$1are"
+         #"(.*)e$"         "$1ere"
+         #"(.*)e$"         "$1ire"
+         #"(.*)a$"         "$1arsi" ;; prepara -> preperarsi
+         #"(.*)sce$"       "$1re" ;; finisce -> finire
+         #"(.*)te$"        "$1tirsi" ;; diverte -> divertirsi
+         #"(.*)ice$"       "$1ire" ;; dice -> dire
+         ]}
+
+    {:agr {:synsem {:subcat {:1 {:agr {:number :plur
+                                       :person :1st}}}}}
+     :p [
+         #"(.*)iamo$"      "$1are"  ;; parliamo -> parlare
+         #"(.*)iamo$"      "$1iare" ;; mangiamo -> mangiare
+         #"(.*)iamo$"      "$1ere"
+         #"(.*)iamo$"      "$1ire"
+         #"(.*c)hiamo$"    "$1are" ;; sprechiamo -> sprecare
+         #"(.*)iamo$"      "$1iarsi" ;; arrabiamo -> arrabiarsi
+         #"(.*)iamo$"      "$1arsi" ;; chiamiamo -> chiamarsi
+         #"(.*)iamo$"      "$1irsi" ;; divertiamo -> divertirsi
+         #"(.*)ciamo$"     "$1re" ;; diciamo -> dire
+         #"(.*)hiamo$"     "$1are" ;; pieghiamo -> piegare
+         ]}
+
+    {:agr {:synsem {:subcat {:1 {:agr {:number :plur
+                                       :person :2nd}}}}}
+     :p [
+         #"(.*)([aei])te$" "$1$2re" ;; parlate -> parlare
+         #"(.*)([aei])te$" "$1$2rsi" ;; chiamate -> chiamarsi
          ]}
     
     {:agr {:synsem {:subcat {:1 {:agr {:number :plur
                                        :person :3rd}}}}}
      :p [
-         #"^([^' ]+)ano$"       "$1are"
-         #"^([^' ]+)ono$"       "$1ere"
-         #"^([^' ]+)ono$"       "$1ire"
-         #"^([^' ]+)ano$"       "$1arsi" ;; alzano -> alzarsi
-         #"^([^' ]+)scono$"     "$1re" ;; finiscono -> finire
-         #"^([^' ]+)ono$"       "$1irsi" ;; divertono -> divertirsi
-         #"^([^' ]+)cono$"      "$1re" ;; dicono -> dire
-         #"^([^' ]+)ono$"       "$1irsi" ;; vestono -> vestirsi
+         #"(.*)ano$"       "$1are"
+         #"(.*)ono$"       "$1ere"
+         #"(.*)ono$"       "$1ire"
+         #"(.*)ano$"       "$1arsi" ;; alzano -> alzarsi
+         #"(.*)scono$"     "$1re" ;; finiscono -> finire
+         #"(.*)ono$"       "$1irsi" ;; divertono -> divertirsi
+         #"(.*)cono$"      "$1re" ;; dicono -> dire
+         #"(.*)ono$"       "$1irsi" ;; vestono -> vestirsi
          ]}]))
 
 (def replace-patterns

     {:agr {:synsem {:subcat {:1 {:agr {:number :sing
                                        :gender :fem}}}}}
      :p [
          #"^([^ ]+)esa"       "$1eso"
          #"^([^ ]+)([aiu])ta" "$1$2to"
          #"^([^ ]+)tita"      "$1tito"
          #"^([^ ]+)asta"      "$1asto"
          #"^([^ ]+)ata"       "$1are"
          #"^([^ ]+)ata"       "$1arsi"
          #"^([^ ]+)ita"       "$1ire"
          #"^([^ ]+)ita"       "$1irsi"
          #"^([^ ]+)uta"       "$1ere"
          #"^([^ ]+)uta"       "$1ersi"
          #"^([^ ]+)uta"       "$1uto"
          ]
      }

     {:agr {:synsem {:subcat {:1 {:agr {:number :plur
                                        :gender :fem}}}}}
      :p [
          #"^([^ ]+)ese" "$1eso"
          #"^([^ ]+)([aiu])te" "$1$2to"
          #"^([^ ]+)tite" "$1tito"
          #"^([^ ]+)aste" "$1asto"
          #"^([^ ]+)ese" "$1eso"           ;; scese -> sceso -> scendere
          #"^([^ ]+)ate" "$1are"
          #"^([^ ]+)ate" "$1arsi"
          #"^([^ ]+)ite" "$1ire"
          #"^([^ ]+)ite" "$1irsi"
          #"^([^ ]+)ute" "$1ere"
          #"^([^ ]+)ute" "$1ersi"
          #"^([^ ]+)ute" "$1irsi"
          #"^([^ ]+)ute" "$1ire"
          #"^([^ ]+)ute" "$1uto"

          ]
      }

     {:agr {:synsem {:subcat {:1 {:agr {:number :plur
                                        :gender :masc}}}}}
      :p [
          #"(.*)esi"       "$1eso"
          #"(.*)([aiu])ti" "$1$2to"
          #"(.*)titi"      "$1tito"
          #"(.*)asti"      "$1asto"
          #"(.*)ati"       "$1are"
          #"(.*)ati"       "$1arsi"
          #"(.*)esi"       "$1eso"    ;; scesi -> sceso -> scendere
          ]
      }

     {:agr {:synsem {:subcat {:1 {:agr {:number :plur}}}}}
      :p [
          #"(.*)iti" "$1ire"
          #"(.*)iti" "$1irsi"
          #"(.*)uti" "$1ere"
          #"(.*)uti" "$1ersi"
          #"(.*)uti" "$1ire"
          ]}
     
     {:agr :top
      :p [
          #"(.*)ato" "$1are"
          #"(.*)ato" "$1arsi"
          #"(.*)ito" "$1ire"
          #"(.*)ito" "$1irsi"
          #"(.*)uto" "$1ere"
          #"(.*)uto" "$1ersi"
          ]}
     ])))

