package solver

import (
	"log"
)

func Run() {
	// Instantiate the Solver interface
	solver := Solver{}

	// Parse and handle flags
	solver.parse_flags()

	// Load blocks from CSV file
	solver.load_blocks()

	// Find rows that fit with the entered rows
	solver.populate_blocks()

	// Print the total number of solutions to validate
	log.Println("Number of (potential) solutions:", solver.iter)

	// Check the number of solutions
	go solver.check_combinations()
	solver.tracker()

	// Print the valid solutions
	solver.print_solutions()

}