Files

26 lines
964 B
C

#include <stdio.h>
#include <stdlib.h>
#include <stdint.h>
#include <string.h>
#define R (z=a=(s*=S)>>31)*n>>32;for(
#define K(x) ))||fseek(F,0,SEEK_##x)||
int main(int c,char**V){int k,l,p,i,x,y
,n,q;uint64_t s,S=5,z;uint32_t*h,a,t[512
];while(c++==5){uint8_t*m;void*F;x=atoi(V
[2]);y=atoi(V[3]);s=atoi(V[4]);if(x>>20||(
#define H(b,x) memset b{for(a=i=0;i<y;)a=(\
a^m[x+i++])*79764919;for(;(i=h[a&q])^-1;a++)
y-1)>>7||!(F=fopen(V[q=1],"rb"K(END)y>(n=fte\
ll(F K(SET)!(m=malloc(n+y))||fread(m,1,n,F)-n
||n>>29)break;;for(fclose(F);S*5>S;)S*=5;for(
i=k=l=0;i<n;)if('_'-(a=m[i++])){if(a=='<')for
(a=' ';i<n&&m[i++]-'>';);;if((a-' '&&a-'\n'&&
a-'\r'&&a-'\t')||k-(a=' ')) m[l++]=k=a;};n=l;
memcpy(m+l,m,y);for(;l*3>q;)q+=q;if((h=malloc
(4*q))){H((h,-1,4*q--);for(k=0;k<l;h[a&q]=k++
),k);}p=R;x--;p=p-l?p:0){H((t,n=0,8<<8);,p)if
(!memcmp(m+p,m+i,y))k=m[i+y]*2,t[k++]++,n++,t
[k]=i;}n=R k=-1;n>=0;)n-=t[++k*2];putchar(k);
p=t[k+k+1]+1;}putchar('\n');c=0;}}return!!c;}