public static NDE getNDE(Properties prop){
		int m = Integer.parseInt(prop.getProperty("m"));
		int n = Integer.parseInt(prop.getProperty("n"));
		if(m<0 || n<0) throw new IllegalArgumentException();
		double alpha[] = new double[m+n];
		double sigma[] = new double[m];
		double lambda[] = new double[n];
		double sum = 0;
		for(int i=0;i<m;i++){
			alpha[i] = Double.parseDouble(prop.getProperty("pi_N" + Integer.toString(i+1)));
			sigma[i] = Double.parseDouble(prop.getProperty("sigma" + Integer.toString(i+1)));
			if(alpha[i]<0 || sigma[i]<=0) throw new IllegalArgumentException();
			sum += alpha[i];
		}
		for(int i=0;i<n;i++){
			alpha[m+i] = Double.parseDouble(prop.getProperty("pi_DE" + Integer.toString(i+1)));
			lambda[i] = Double.parseDouble(prop.getProperty("lambda" + Integer.toString(i+1)));
			if(alpha[m+i]<0 || lambda[i]<=0) throw new IllegalArgumentException();
			sum += alpha[m+i];
		}
		return new NDE(alpha,sigma,lambda);
	}