22 lines
801 B
C
22 lines
801 B
C
int main(){
|
|
uint32_t f=0,i,n=0,
|
|
a=1732584193,b=4023233417
|
|
,q=32,c=~a,d=~b,x,h[]={x=a,b,
|
|
c,d,80200,745,108189,38200},s[16]
|
|
;int64_t z=0,g=0,l=566548,m=64336,o
|
|
=882346,p=585873,e,k,y;for(;!f;)if(s[
|
|
n++/4]=x=x>>8|(z<0?0:(z=getchar())>=0?g
|
|
+=8,z:128)<<24,n==56?s[s[14]=g,15]=g>>q
|
|
,f=z<0:n/64){for(e=i=0,k=~e<<40;i<64;i++,
|
|
a=d,d=c,c=b,b+=x<<n|x>>(q-n))y=((e*m+k*p)
|
|
>>21)+e*l+k*o,k=(((k*m-e*p)>>21)+k*l-e*o)
|
|
>>20,e=y>>20,x=i/16+4,n=h[x],x=a+(x>4?(
|
|
x>6?~d|b:x>5?b^d:(b^c)&d)^c:((c^d)&b)^d
|
|
)+s[(n/8%8*i+n%8)&15]+(e>>8^e>>40),n=
|
|
(n>>(i%4*3+6)&7)+i%4*6+2;d=h[c=h[b=
|
|
h[a=h[n=0]+=a,1]+=b,2]+=c,3]+=d;}
|
|
for(;n<33;)a=h[n/8]>>(n%8*4^4
|
|
)&15,putchar(++n>q?'\n':a
|
|
+(a<10?'0':'a'-10))
|
|
;return 0;}
|