//	This source and similar text sequences method apply to GNU General Public License. 
//			Copyright (C) 2001-2014 Jasenko Dzinleski 

//		This program is free software; you can redistribute it
//	and/or modify it under the terms of the GNU General Public License as
//	published by the Free Software Foundation; either version 2 of the
//	License, or (at your option) any later version. 

//	This program is distributed in the hope that it will be useful, but
//	WITHOUT ANY WARRANTY; without even the implied warranty of
//	MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
//	General Public License for more details. 

//	You should have received a copy of the GNU General Public License along
//	with this program; if not, write to the Free Software Foundation, Inc.,
//	51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.

//  Similar Text Sequences 
//	written by Dzinleski Jasenko  August 2016


#include <stdio.h>
#include <stdlib.h>
#include <string.h>
//#include <math.h>

FILE		*f1,*f2;

char		infn[256]="fasta__.txt";
char		lsfn[256]="s1_1.txt";

char		sv1[256]=" ";
char		sv2[256]=" ";
char		sv3[256]=" ";
char		sv4[256]=" ";
char		sv5[256]=" ";
char		sv6[256]=" ";
char		sv7[256]=" ";
char		sv8[256]=" ";
char		sv9[256]=" ";
char		sv10[256]=" ";
char		sv11[256]=" ";
char		sv12[256]=" ";
char		sv13[256]=" ";
char		sv14[256]=" ";
char		sv15[256]=" ";
char		sv16[256]=" ";
		
char		sv17[256]=" ";
char		sv18[256]=" ";
char		sv19[256]=" ";
char		sv20[256]=" ";
char		sv21[256]=" ";
char		sv22[256]=" ";
char		sv23[256]=" ";
char		sv24[256]=" ";
char		sv25[256]=" ";
char		sv26[256]=" ";
char		sv27[256]=" ";
char		sv28[256]=" ";
char		sv29[256]=" ";
char		sv30[256]=" ";
char		sv31[256]=" ";
char		sv32[256]=" ";

char		cv[256];	int cvi_,cvi=0;

int			n1_,j1_;
int			n1,n2,n3,n4,n5,n6,n7,n8,n9,n10,n11,n12,n13,n14,n15,n16;
int			n17,n18,n19,n20,n21,n22,n23,n24,n25,n26,n27,n28,n29,n30,n31,n32;
int			j1,j2,j3,j4,j5,j6,j7,j8,j9,j10,j11,j12,j13,j14,j15,j16;
int			j17,j18,j19,j20,j21,j22,j23,j24,j25,j26,j27,j28,j29,j30,j31,j32;

int 		csv1_[256];

int 		csv1[256];
int 		csv2[256];
int 		csv3[256];
int 		csv4[256];
int 		csv5[256];
int 		csv6[256];
int 		csv7[256];
int 		csv8[256];
int 		csv9[256];
int 		csv10[256];
int 		csv11[256];
int 		csv12[256];
int 		csv13[256];
int 		csv14[256];
int 		csv15[256];
int 		csv16[256];

int 		csv17[256];
int 		csv18[256];
int 		csv19[256];
int 		csv20[256];
int 		csv21[256];
int 		csv22[256];
int 		csv23[256];
int 		csv24[256];
int 		csv25[256];
int 		csv26[256];
int 		csv27[256];
int 		csv28[256];
int 		csv29[256];
int 		csv30[256];
int 		csv31[256];
int 		csv32[256];

char 		csv[256];

int			c_1,c_1_;

int p_1(char sv1_[256])
{
	int i;
	if(strlen(sv1_)>1)
	{

		n1_=0;j1_=0;for(i=0;i<256;++i){csv1_[i]=-1;}
		for(i=0;i<strlen(sv1_);)
		{
			if(sv1_[i]!='_'){csv1_[j1_]=0;++j1_;++n1_;++i;}else{csv1_[j1_]=1;++i;while(sv1_[i]=='_'){++csv1_[j1_];++i;}++j1_;}
		}
		//for(i=0;i<j1;++i){printf("%d",csv1_[i]);}printf("\n");
	}else{return(-1);}
	return(1);
}

int p_2(char sv1_[256],int j1_,int n1_,int csv1_[256])
{
int i,l,n,m,k;
	c_1=0;c_1_=0;
	for(k=0;k<cvi_;++k)
	{
		m=0;l=0;i=0;
		while(l<j1_)
		{
			if(csv1_[l]){i+=csv1_[l];--i;}else{if(sv1_[i]!=cv[i+k]){break;}else{/*printf("%c",sv1[i]);*/if(m==0){n=k;}++m;}}
			++i;++l;
		}
		if(m==n1_){if(n<cvi&&n+strlen(sv1_)<cvi){++c_1;}else{if(n>=cvi&&n+strlen(sv1_)>=cvi){++c_1_;}else{++c_1;++c_1_;}}}
	}
	return(0);	
}

int main(int argc,char *argv[])
{

int	a,b;
int	c1,c2,c3,c4,c5,c6,c7,c8,c9,c10,c11,c12,c13,c14,c15,c16;
int	c17,c18,c19,c20,c21,c22,c23,c24,c25,c26,c27,c28,c29,c30,c31,c32;

int	c1_,c2_,c3_,c4_,c5_,c6_,c7_,c8_,c9_,c10_,c11_,c12_,c13_,c14_,c15_,c16_;
int	c17_,c18_,c19_,c20_,c21_,c22_,c23_,c24_,c25_,c26_,c27_,c28_,c29_,c30_,c31_,c32_;

int	d,e;
int	i,j,k,l,m,n;

int	fb;
int	nc=0;

	if(argc<2){return(0);}
	if(strlen(argv[1])==0){return(0);}
	if(strlen(argv[2])==0){return(0);}

	strcpy(infn,argv[1]);
	strcpy(lsfn,argv[2]);

	f2=fopen(lsfn,"rb");
	fb=getc(f2);
	while(!feof(f2))
	{
		for(i=0;i<256;++i){cv[i]='\0';}cvi=0;
		while((fb!=10)&&(fb!=13)){cv[cvi]=fb;++cvi;fb=getc(f2);}
		while((fb==10)||(fb==13)){fb=getc(f2);}++nc;

		if(nc==1)
		{
		for(i=0;i<256;++i){sv1[i]='\0';}
		for(i=0;i<cvi;++i){sv1[i]=cv[i];}
		printf("%d\t%s\t%d\n",nc,sv1,cvi);i=p_1(sv1);n1=n1_;j1=j1_;for(i=0;i<256;++i){csv1[i]=csv1_[i];}
		}
		if(nc==2)
		{
		for(i=0;i<256;++i){sv2[i]='\0';}
		for(i=0;i<cvi;++i){sv2[i]=cv[i];}
		printf("%d\t%s\t%d\n",nc,sv2,cvi);i=p_1(sv2);n2=n1_;j2=j1_;for(i=0;i<256;++i){csv2[i]=csv1_[i];}
		}
		if(nc==3)
		{
		for(i=0;i<256;++i){sv3[i]='\0';}
		for(i=0;i<cvi;++i){sv3[i]=cv[i];}
		printf("%d\t%s\t%d\n",nc,sv3,cvi);i=p_1(sv3);n3=n1_;j3=j1_;for(i=0;i<256;++i){csv3[i]=csv1_[i];}
		}
		if(nc==4)
		{
		for(i=0;i<256;++i){sv4[i]='\0';}
		for(i=0;i<cvi;++i){sv4[i]=cv[i];}
		printf("%d\t%s\t%d\n",nc,sv4,cvi);i=p_1(sv4);n4=n1_;j4=j1_;for(i=0;i<256;++i){csv4[i]=csv1_[i];}
		}
		if(nc==5)
		{
		for(i=0;i<256;++i){sv5[i]='\0';}
		for(i=0;i<cvi;++i){sv5[i]=cv[i];}
		printf("%d\t%s\t%d\n",nc,sv5,cvi);i=p_1(sv5);n5=n1_;j5=j1_;for(i=0;i<256;++i){csv5[i]=csv1_[i];}
		}
		if(nc==6)
		{
		for(i=0;i<256;++i){sv6[i]='\0';}
		for(i=0;i<cvi;++i){sv6[i]=cv[i];}
		printf("%d\t%s\t%d\n",nc,sv6,cvi);i=p_1(sv6);n6=n1_;j6=j1_;for(i=0;i<256;++i){csv6[i]=csv1_[i];}
		}
		if(nc==7)
		{
		for(i=0;i<256;++i){sv7[i]='\0';}
		for(i=0;i<cvi;++i){sv7[i]=cv[i];}
		printf("%d\t%s\t%d\n",nc,sv7,cvi);i=p_1(sv7);n7=n1_;j7=j1_;for(i=0;i<256;++i){csv7[i]=csv1_[i];}
		}
		if(nc==8)
		{
		for(i=0;i<256;++i){sv8[i]='\0';}
		for(i=0;i<cvi;++i){sv8[i]=cv[i];}
		printf("%d\t%s\t%d\n",nc,sv8,cvi);i=p_1(sv8);n8=n1_;j8=j1_;for(i=0;i<256;++i){csv8[i]=csv1_[i];}
		}
		if(nc==9)
		{
		for(i=0;i<256;++i){sv9[i]='\0';}
		for(i=0;i<cvi;++i){sv9[i]=cv[i];}
		printf("%d\t%s\t%d\n",nc,sv9,cvi);i=p_1(sv9);n9=n1_;j9=j1_;for(i=0;i<256;++i){csv9[i]=csv1_[i];}
		}
		if(nc==10)
		{
		for(i=0;i<256;++i){sv10[i]='\0';}
		for(i=0;i<cvi;++i){sv10[i]=cv[i];}
		printf("%d\t%s\t%d\n",nc,sv10,cvi);i=p_1(sv10);n10=n1_;j10=j1_;for(i=0;i<256;++i){csv10[i]=csv1_[i];}
		}
		if(nc==11)
		{
		for(i=0;i<256;++i){sv11[i]='\0';}
		for(i=0;i<cvi;++i){sv11[i]=cv[i];}
		printf("%d\t%s\t%d\n",nc,sv11,cvi);i=p_1(sv11);n11=n1_;j11=j1_;for(i=0;i<256;++i){csv11[i]=csv1_[i];}
		}
		if(nc==12)
		{
		for(i=0;i<256;++i){sv12[i]='\0';}
		for(i=0;i<cvi;++i){sv12[i]=cv[i];}
		printf("%d\t%s\t%d\n",nc,sv12,cvi);i=p_1(sv12);n12=n1_;j12=j1_;for(i=0;i<256;++i){csv12[i]=csv1_[i];}
		}
		if(nc==13)
		{
		for(i=0;i<256;++i){sv13[i]='\0';}
		for(i=0;i<cvi;++i){sv13[i]=cv[i];}
		printf("%d\t%s\t%d\n",nc,sv13,cvi);i=p_1(sv13);n13=n1_;j13=j1_;for(i=0;i<256;++i){csv13[i]=csv1_[i];}
		}
		if(nc==14)
		{
		for(i=0;i<256;++i){sv14[i]='\0';}
		for(i=0;i<cvi;++i){sv14[i]=cv[i];}
		printf("%d\t%s\t%d\n",nc,sv14,cvi);i=p_1(sv14);n14=n1_;j14=j1_;for(i=0;i<256;++i){csv14[i]=csv1_[i];}
		}
		if(nc==15)
		{
		for(i=0;i<256;++i){sv15[i]='\0';}
		for(i=0;i<cvi;++i){sv15[i]=cv[i];}
		printf("%d\t%s\t%d\n",nc,sv15,cvi);i=p_1(sv15);n15=n1_;j15=j1_;for(i=0;i<256;++i){csv15[i]=csv1_[i];}
		}
		if(nc==16)
		{
		for(i=0;i<256;++i){sv16[i]='\0';}
		for(i=0;i<cvi;++i){sv16[i]=cv[i];}
		printf("%d\t%s\t%d\n",nc,sv16,cvi);i=p_1(sv16);n16=n1_;j16=j1_;for(i=0;i<256;++i){csv16[i]=csv1_[i];}
		i=p_1(sv1);
		}
		if(nc==17)
		{
		for(i=0;i<256;++i){sv17[i]='\0';}
		for(i=0;i<cvi;++i){sv17[i]=cv[i];}
		printf("%d\t%s\t%d\n",nc,sv17,cvi);i=p_1(sv17);n17=n1_;j17=j1_;for(i=0;i<256;++i){csv17[i]=csv1_[i];}
		i=p_1(sv1);
		}
		if(nc==18)
		{
		for(i=0;i<256;++i){sv18[i]='\0';}
		for(i=0;i<cvi;++i){sv18[i]=cv[i];}
		printf("%d\t%s\t%d\n",nc,sv18,cvi);i=p_1(sv18);n18=n1_;j18=j1_;for(i=0;i<256;++i){csv18[i]=csv1_[i];}
		i=p_1(sv1);
		}
		if(nc==19)
		{
		for(i=0;i<256;++i){sv19[i]='\0';}
		for(i=0;i<cvi;++i){sv19[i]=cv[i];}
		printf("%d\t%s\t%d\n",nc,sv19,cvi);i=p_1(sv19);n19=n1_;j19=j1_;for(i=0;i<256;++i){csv19[i]=csv1_[i];}
		i=p_1(sv1);
		}		
		if(nc==20)
		{
		for(i=0;i<256;++i){sv20[i]='\0';}
		for(i=0;i<cvi;++i){sv20[i]=cv[i];}
		printf("%d\t%s\t%d\n",nc,sv20,cvi);i=p_1(sv20);n20=n1_;j20=j1_;for(i=0;i<256;++i){csv20[i]=csv1_[i];}
		i=p_1(sv1);
		}
		if(nc==21)
		{
		for(i=0;i<256;++i){sv21[i]='\0';}
		for(i=0;i<cvi;++i){sv21[i]=cv[i];}
		printf("%d\t%s\t%d\n",nc,sv21,cvi);i=p_1(sv21);n21=n1_;j21=j1_;for(i=0;i<256;++i){csv21[i]=csv1_[i];}
		i=p_1(sv1);
		}
		if(nc==22)
		{
		for(i=0;i<256;++i){sv22[i]='\0';}
		for(i=0;i<cvi;++i){sv22[i]=cv[i];}
		printf("%d\t%s\t%d\n",nc,sv22,cvi);i=p_1(sv22);n22=n1_;j22=j1_;for(i=0;i<256;++i){csv22[i]=csv1_[i];}
		i=p_1(sv1);
		}		
		if(nc==23)
		{
		for(i=0;i<256;++i){sv23[i]='\0';}
		for(i=0;i<cvi;++i){sv23[i]=cv[i];}
		printf("%d\t%s\t%d\n",nc,sv23,cvi);i=p_1(sv23);n23=n1_;j23=j1_;for(i=0;i<256;++i){csv23[i]=csv1_[i];}
		i=p_1(sv1);
		}
		if(nc==24)
		{
		for(i=0;i<256;++i){sv24[i]='\0';}
		for(i=0;i<cvi;++i){sv24[i]=cv[i];}
		printf("%d\t%s\t%d\n",nc,sv24,cvi);i=p_1(sv24);n24=n1_;j24=j1_;for(i=0;i<256;++i){csv24[i]=csv1_[i];}
		i=p_1(sv1);
		}
		if(nc==25)
		{
		for(i=0;i<256;++i){sv25[i]='\0';}
		for(i=0;i<cvi;++i){sv25[i]=cv[i];}
		printf("%d\t%s\t%d\n",nc,sv25,cvi);i=p_1(sv25);n25=n1_;j25=j1_;for(i=0;i<256;++i){csv25[i]=csv1_[i];}
		i=p_1(sv1);
		}
		if(nc==26)
		{
		for(i=0;i<256;++i){sv26[i]='\0';}
		for(i=0;i<cvi;++i){sv26[i]=cv[i];}
		printf("%d\t%s\t%d\n",nc,sv26,cvi);i=p_1(sv26);n26=n1_;j26=j1_;for(i=0;i<256;++i){csv26[i]=csv1_[i];}
		i=p_1(sv1);
		}
		if(nc==27)
		{
		for(i=0;i<256;++i){sv27[i]='\0';}
		for(i=0;i<cvi;++i){sv27[i]=cv[i];}
		printf("%d\t%s\t%d\n",nc,sv27,cvi);i=p_1(sv27);n27=n1_;j27=j1_;for(i=0;i<256;++i){csv27[i]=csv1_[i];}
		i=p_1(sv1);
		}
		if(nc==28)
		{
		for(i=0;i<256;++i){sv28[i]='\0';}
		for(i=0;i<cvi;++i){sv28[i]=cv[i];}
		printf("%d\t%s\t%d\n",nc,sv28,cvi);i=p_1(sv28);n28=n1_;j28=j1_;for(i=0;i<256;++i){csv28[i]=csv1_[i];}
		i=p_1(sv1);
		}
		if(nc==29)
		{
		for(i=0;i<256;++i){sv29[i]='\0';}
		for(i=0;i<cvi;++i){sv29[i]=cv[i];}
		printf("%d\t%s\t%d\n",nc,sv29,cvi);i=p_1(sv29);n29=n1_;j29=j1_;for(i=0;i<256;++i){csv29[i]=csv1_[i];}
		i=p_1(sv1);
		}
		if(nc==30)
		{
		for(i=0;i<256;++i){sv30[i]='\0';}
		for(i=0;i<cvi;++i){sv30[i]=cv[i];}
		printf("%d\t%s\t%d\n",nc,sv30,cvi);i=p_1(sv30);n30=n1_;j30=j1_;for(i=0;i<256;++i){csv30[i]=csv1_[i];}
		i=p_1(sv1);
		}
		if(nc==31)
		{
		for(i=0;i<256;++i){sv31[i]='\0';}
		for(i=0;i<cvi;++i){sv31[i]=cv[i];}
		printf("%d\t%s\t%d\n",nc,sv31,cvi);i=p_1(sv31);n31=n1_;j31=j1_;for(i=0;i<256;++i){csv31[i]=csv1_[i];}
		i=p_1(sv1);
		}
		if(nc==32)
		{
		for(i=0;i<256;++i){sv32[i]='\0';}
		for(i=0;i<cvi;++i){sv32[i]=cv[i];}
		printf("%d\t%s\t%d\n",nc,sv32,cvi);i=p_1(sv32);n32=n1_;j32=j1_;for(i=0;i<256;++i){csv32[i]=csv1_[i];}
		i=p_1(sv1);
		}		
		if(nc>=32){break;}	
	}
	fclose(f2);

	cvi=0;nc=0;
	
	f1=fopen(infn,"rb");
	fb=getc(f1);
	for(i=0;i<256;++i){cv[i]='\0';}cvi=0;
	while((fb!=10)&&(fb!=13)){cv[cvi]=fb;++cvi;fb=getc(f2);}cvi_=cvi;
	while((fb==10)||(fb==13)){fb=getc(f2);}++nc;

	while(!feof(f1))
	{
		while((fb!=10)&&(fb!=13)){cv[cvi_]=fb;++cvi_;fb=getc(f2);}
		while((fb==10)||(fb==13)){fb=getc(f2);}++nc;

		//printf("!%s!\n",cv);

		c1=0;c2=0;c3=0;c4=0;c5=0;c6=0;c7=0;c8=0;c9=0;c10=0;c11=0;c12=0;c13=0;c14=0;c15=0;c16=0;
		c17=0;c18=0;c19=0;c20=0;c21=0;c22=0;c23=0;c24=0;c25=0;c26=0;c27=0;c28=0;c29=0;c30=0;c31=0;c32=0;
		c1_=0;c2_=0;c3_=0;c4_=0;c5_=0;c6_=0;c7_=0;c8_=0;c9_=0;c10_=0;c11_=0;c12_=0;c13_=0;c14_=0;c15_=0;c16_=0;
		c17_=0;c18_=0;c19_=0;c20_=0;c21_=0;c22_=0;c23_=0;c24_=0;c25_=0;c26_=0;c27_=0;c28_=0;c29_=0;c30_=0;c31_=0;c32_=0;
		
		if(strlen(sv1)>1){i=p_2(sv1,j1,n1,csv1);c1=c_1;c1_=c_1_;}
		if(strlen(sv2)>1){i=p_2(sv2,j2,n2,csv2);c2=c_1;c2_=c_1_;}
		if(strlen(sv3)>1){i=p_2(sv3,j3,n3,csv3);c3=c_1;c3_=c_1_;}
		if(strlen(sv4)>1){i=p_2(sv4,j4,n4,csv4);c4=c_1;c4_=c_1_;}
		if(strlen(sv5)>1){i=p_2(sv5,j5,n5,csv5);c5=c_1;c5_=c_1_;}
		if(strlen(sv6)>1){i=p_2(sv6,j6,n6,csv6);c6=c_1;c6_=c_1_;}
		if(strlen(sv7)>1){i=p_2(sv7,j7,n7,csv7);c7=c_1;c7_=c_1_;}
		if(strlen(sv8)>1){i=p_2(sv8,j8,n8,csv8);c8=c_1;c8_=c_1_;}
		if(strlen(sv9)>1){i=p_2(sv9,j9,n9,csv9);c9=c_1;c9_=c_1_;}
		if(strlen(sv10)>1){i=p_2(sv10,j10,n10,csv10);c10=c_1;c10_=c_1_;}
		if(strlen(sv11)>1){i=p_2(sv11,j11,n11,csv11);c11=c_1;c11_=c_1_;}
		if(strlen(sv12)>1){i=p_2(sv12,j12,n12,csv12);c12=c_1;c12_=c_1_;}
		if(strlen(sv13)>1){i=p_2(sv13,j13,n13,csv13);c13=c_1;c13_=c_1_;}
		if(strlen(sv14)>1){i=p_2(sv14,j14,n14,csv14);c14=c_1;c14_=c_1_;}
		if(strlen(sv15)>1){i=p_2(sv15,j15,n15,csv15);c15=c_1;c15_=c_1_;}
		if(strlen(sv16)>1){i=p_2(sv16,j16,n16,csv16);c16=c_1;c16_=c_1_;}
		
		if(strlen(sv17)>1){i=p_2(sv17,j17,n17,csv17);c17=c_1;c17_=c_1_;}		
		if(strlen(sv18)>1){i=p_2(sv18,j18,n18,csv18);c18=c_1;c18_=c_1_;}		
		if(strlen(sv19)>1){i=p_2(sv19,j19,n19,csv19);c19=c_1;c19_=c_1_;}		
		if(strlen(sv20)>1){i=p_2(sv20,j20,n20,csv20);c20=c_1;c20_=c_1_;}		
		if(strlen(sv21)>1){i=p_2(sv21,j21,n21,csv21);c21=c_1;c21_=c_1_;}		
		if(strlen(sv22)>1){i=p_2(sv22,j22,n22,csv22);c22=c_1;c22_=c_1_;}		
		if(strlen(sv23)>1){i=p_2(sv23,j23,n23,csv23);c23=c_1;c23_=c_1_;}		
		if(strlen(sv24)>1){i=p_2(sv24,j24,n24,csv24);c24=c_1;c24_=c_1_;}		
		if(strlen(sv25)>1){i=p_2(sv25,j25,n25,csv25);c25=c_1;c25_=c_1_;}		
		if(strlen(sv26)>1){i=p_2(sv26,j26,n26,csv26);c26=c_1;c26_=c_1_;}		
		if(strlen(sv27)>1){i=p_2(sv27,j27,n27,csv27);c27=c_1;c27_=c_1_;}		
		if(strlen(sv28)>1){i=p_2(sv28,j28,n28,csv28);c28=c_1;c28_=c_1_;}		
		if(strlen(sv29)>1){i=p_2(sv29,j29,n29,csv29);c29=c_1;c29_=c_1_;}		
		if(strlen(sv30)>1){i=p_2(sv30,j30,n30,csv30);c30=c_1;c30_=c_1_;}		
		if(strlen(sv31)>1){i=p_2(sv31,j31,n31,csv31);c31=c_1;c31_=c_1_;}		
		if(strlen(sv32)>1){i=p_2(sv32,j32,n32,csv32);c32=c_1;c32_=c_1_;}		
		
		if
		(
			(c1||c2||c3||c4||c5||c6||c7||c8||c9||c10||c11||c12||c13||c14||c15||c16)||
			(c1_||c2_||c3_||c4_||c5_||c6_||c7_||c8_||c9_||c10_||c11_||c12_||c13_||c14_||c15_||c16_)||
			(c17||c18||c19||c20||c21||c22||c23||c24||c25||c26||c27||c28||c29||c30||c31||c32)||
			(c17_||c18_||c19_||c20_||c21_||c22_||c23_||c24_||c25_||c26_||c27_||c28_||c29_||c30_||c31_||c32_)
		)
		{
			if
			(
			(c1||c2||c3||c4||c5||c6||c7||c8||c9||c10||c11||c12||c13||c14||c15||c16)
			||
			(c17||c18||c19||c20||c21||c22||c23||c24||c25||c26||c27||c28||c29||c30||c31||c32)
			)
			{	
				printf("%02d%02d%02d%02d%02d%02d%02d%02d%02d%02d%02d%02d%02d%02d%02d%02d",c1,c2,c3,c4,c5,c6,c7,c8,c9,c10,c11,c12,c13,c14,c15,c16);
				printf("%02d%02d%02d%02d%02d%02d%02d%02d%02d%02d%02d%02d%02d%02d%02d%02d\t",c17,c18,c19,c20,c21,c22,c23,c24,c25,c26,c27,c28,c29,c30,c31,c32);
				for(j=0;j<cvi;++j){printf("%c",cv[j]);}
				printf("\t%s\t%s",csv,sv1);printf("\t%d\n",nc);
			}
			if
			(
			(c1_||c2_||c3_||c4_||c5_||c6_||c7_||c8_||c9_||c10_||c11_||c12_||c13_||c14_||c15_||c16_)
			||
			(c17_||c18_||c19_||c20_||c21_||c22_||c23_||c24_||c25_||c26_||c27_||c28_||c29_||c30_||c31_||c32_)
			)
			{
				printf("%02d%02d%02d%02d%02d%02d%02d%02d%02d%02d%02d%02d%02d%02d%02d%02d",c1_,c2_,c3_,c4_,c5_,c6_,c7_,c8_,c9_,c10_,c11_,c12_,c13_,c14_,c15_,c16_);
				printf("%02d%02d%02d%02d%02d%02d%02d%02d%02d%02d%02d%02d%02d%02d%02d%02d\t",c17_,c18_,c19_,c20_,c21_,c22_,c23_,c24_,c25_,c26_,c27_,c28_,c29_,c30_,c31_,c32_);
				for(j=cvi;j<cvi_;++j){printf("%c",cv[j]);}
				printf("\t%s\t%s",csv,sv1);printf("\t%d\n",1+nc);
			}
		}
		
		j=0;for(i=cvi;i<cvi_;++i){cv[j]=cv[i];++j;}cvi=j;cvi_=j;
		for(i=cvi_;i<256;++i){cv[i]='\0';}
	}
	return(0);

}