 #include <algorithm>
 #include <fstream>
 #include <cmath>
+#include <map>
+#include <stdio.h>
 #include <stdlib.h>
 
 #include <cusp/io/matrix_market.h>

class OutputItem
{
public:
	OutputItem(std::ostream &o): m_o(o) {}

	template <typename T>
	void operator() (T item) {

		i++;

		outputItem( fileMat.substr(i));
		fileMat = fileMat.substr(i);
	}

	// Load information of Pardiso time
	std::map<std::string, double> pardiso_time_table;
	{
		std::ifstream fin("../../test/pardiso_list.txt", std::ios::in);
		if (fin.is_open()) {
			std::string mat_name;
			double pardiso_time;

			while(fin >> mat_name >> pardiso_time) {
				if (mat_name == fileMat) {
					pardiso_time_table[mat_name] = pardiso_time;
					break;
				}
			}
			fin.close();
		}
	}

	// Dimension
