args=commandArgs(TRUE)

xx <- read.table(args[1],sep='\t',header=FALSE)
x <- sort(union(xx[[1]],xx[[2]]))
a <- length(x)-1
#y <- seq(0,a)

xx$V1 <- match(xx[[1]], x)-1
xx$V2 <- match(xx[[2]], x)-1

xx <- rbind(c(length(x),length(xx[[1]])),xx)

write.table(xx,paste0(args[2],'/',basename(args[1])),col.names=FALSE,row.names=FALSE,sep=' ',quote=FALSE)
write.table(data.frame(x),paste0(args[3],'/',basename(args[1]),'.index'),col.names=FALSE,row.names=FALSE,sep=' ',quote=FALSE)