inicio da implementaçao completa usando inteiros