public static void main(final String[] args) {
final ISolver solver = SolverFactory.newDefault();
final SolutionCounter sc = new SolutionCounter(solver);
solver.setTimeout(3600); // 1 hour timeout
Reader reader = new InstanceReader(solver);
// filename is given on the command line
try {
final IProblem problem = reader.parseInstance(args[0]);
if (problem.isSatisfiable()) {
System.out.println(Messages.getString("MoreThanSAT.0")); //$NON-NLS-1$
reader.decode(problem.model(), new PrintWriter(System.out));
IVecInt backbone = RemiUtils.backbone(solver);
System.out
.println(Messages.getString("MoreThanSAT.1") + backbone); //$NON-NLS-1$
System.out.println(Messages.getString("MoreThanSAT.2")); //$NON-NLS-1$
System.out.println(Messages.getString("MoreThanSAT.3") //$NON-NLS-1$