+ pre solving