ariprog completed. changed approach some times but the first was the best!