int cscare(int []a,int []pat,int m,int n,int x)
    {
        int i=0,j=0;
        int mx_inx=0,res=0;
        while(i<n&&j<m)zs       {dsdfsesdweif(Math.abs(aa[i]-pat[j])<=x&&(j==0||a[i]>a[i-1]))
            {
                j++;
                if(Math.abs(a[i]-pat[0])<=x)
                  mx_inx=i;
                  
                  i++;
            }
            else
            { 
                j=0;
                i++;
                continue;
            }
            
            if(j==m)
            {
                res++;
                j=0;
                int mx_inx2=i;
                while(i<n)
                {   
                    if(j==m)
                    {
                        mx_inx=mx_inx2;
                        mx_inx2=i; 
                        j=0;
                    }
                    if((i-m+1)>mx_inx)
                     {
                         mx_inx=0;
                         break;
                     } 
                      
                    else
                    {
                        if((Math.abs(a[i]-pat[m-1])<=x)&&(Math.abs(a[i-m+1]-pat[0])<=x)&&a[i]>a[i-1])
                        {
                            res++;
                            i++;
                            if(Math.abs(a[i]-pat[0])<=x)
                                mx_inx2=i;
                        }
                        else 
                        {
                            mx_inx=0;
                            break;
                        }
                    }
                    j++;
                }
                j=0;
            }
        }
        return res;
    }