import java.util.ArrayList;
import java.util.LinkedHashSet;
import java.util.List;
import java.util.Scanner;
import java.util.Set;

// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        // 注意 hasNext 和 hasNextLine 的区别
        while (in.hasNext()) { // 注意 while 处理多个 case
            String p=in.nextLine();
            String s=in.nextLine();
            //*可以匹配空串的话会出现重复答案,所以用set去重
            Set<String> set=new LinkedHashSet<>();
            //从s的不同起点进行匹配
            for(int i=0;i<s.length();i++){
                dfs(p,s,0,i,i,set);
            }
            if(set.size()==0){
                System.out.println(-1+" "+0);
            }else{
                for(String res:set){
                    System.out.println(res);
                }
            }

            
        }
    }
    public static void dfs(String p,String s,int p1,int p2,int start,Set<String> set){
        //目标串用完时检查模式串是不是只剩下*
        while(p1<p.length()&&p2==s.length()&&p.charAt(p1)=='*'){
            p1++;
        }
        //模式串用完时就匹配出一个答案
        if(p1==p.length()){
            if(p2==start)return;
            set.add(start+" "+(p2-start));
            return;
        }
        //目标串用完结束递归
        if(p2==s.length())return;
        // System.out.println(p.charAt(p1)+"=="+s.charAt(p2));
        //消去*或常规匹配
        if(p.charAt(p1)==s.charAt(p2)||p.charAt(p1)=='*'){
            dfs(p,s,p1+1,p2+1,start,set);
        }
        //*匹配空串
        if(p.charAt(p1)=='*')dfs(p,s,p1+1,p2,start,set);
        //不消去*
        if(p.charAt(p1)=='*')dfs(p,s,p1,p2+1,start,set);
        
    }
}