ustring rev(ustring str) {
   return ustring(str.rbegin(), str.rend());
 }