diff --git a/bashrc b/bashrc
index 5bbf4e41bc6cd4dfac3669e1ed9e2e69d221ac5e..8eb497411f27b3c1ea72616218197ec26ae85df7 100644
--- a/bashrc
+++ b/bashrc
@@ -12,7 +12,7 @@ workdir_mk()
 	workdir_set $workdir
 	mkdir $workdir/data
 	mkdir $workdir/sdp
-	mkdir $workdir/sdp/{max_coord,nonzero_coord,3d}
+	mkdir $workdir/sdp/{max_coord,nonzero_coord,3d,score_by_cut}
 	mkdir $workdir/outputs
 	echo ". bashrc && workdir_set $workdir"
 }
diff --git a/gen_main_test.sh b/gen_main_test.sh
index 7eac12f802c41d246b491f4ec9b2b71137bb1eb6..2f753f97809a1ae0e70ec33e55295b6e7c2951de 100644
--- a/gen_main_test.sh
+++ b/gen_main_test.sh
@@ -2,12 +2,15 @@
 
 for seed in $@
 do
-	for n in 10 20 50 100 200 400 800
+	for n in 10 20 50 100 200 400 566
+	do
+		echo ./wrap_run -s -e -o --sdp_sage_log_all algo/semidef_prog_sage.sage $n $seed 10 CVXOPT
+	done
+	for n in 10 20 50 100 200 400 566 800 1131 1600 2263 3200
 	do
 		echo ./wrap_run -s -e -o build/greedy $n $seed
 		echo ./wrap_run -s -e -o build/rg $n $seed
 		echo ./wrap_run -s -e -o build/rsg $n $seed
 		echo ./wrap_run -s -e -o build/semidef_prog $n $seed 10
-		echo ./wrap_run -s -e -o --sdp_sage_log_all algo/semidef_prog_sage.sage $n $seed 10 CVXOPT
 	done
 done
diff --git a/run.sh b/run.sh
new file mode 100755
index 0000000000000000000000000000000000000000..8d84f9b259faa0c31c3cefdba4ce9952237645bf
--- /dev/null
+++ b/run.sh
@@ -0,0 +1,2 @@
+#!/bin/bash
+bash gen_main_test.sh $@ | shuf | systemd-run --send-sighup -Pd -E LOGFILE=$LOGFILE -E workdir=$workdir --user -p CPUAffinity=1 -p MemoryMax=16G -p MemoryHigh=16G sh
diff --git a/wrap_run b/wrap_run
index 8dbe0d9d5b1cfbaac193fd0d68000df3ee28109e..389d88ae3aca3e983959de1e5076a5395866b975 100755
--- a/wrap_run
+++ b/wrap_run
@@ -22,8 +22,8 @@ if "BPS_CORE" in os.environ and args.core is None:
 
 if args.hash_seed:
     # print(list(hashlib.sha256(i.encode("utf-8")).hexdigest().encode() for i in args.cmd))
-    h = hashlib.sha256(b"".join(hashlib.sha256(i.encode("utf-8")).hexdigest().encode() for i in args.cmd))
-    args.cmd[2] = str(int(h.hexdigest(), base=16)%100000)
+    h = hashlib.sha256(b"".join(hashlib.sha256(i.encode("utf-8")).hexdigest().encode() for i in args.cmd[0:2]+args.cmd[3:]))
+    args.cmd[2] = str(int(h.hexdigest(), base=16)%10000*100+int(args.cmd[2]))
     # print(h.hexdigest(), args.cmd[2])
 
 algo_args = args.cmd[3:]
@@ -73,6 +73,7 @@ if args.sdp_sage_log_all:
         p_env["BPS_LOG_MAX_COORD"] = workdir+"/sdp/max_coord/"+run_name
         p_env["BPS_LOG_NONZERO_COORD"] = workdir+"/sdp/nonzero_coord/"+run_name
         p_env["BPS_LOG_3D"] = workdir+"/sdp/3d/"+run_name
+        p_env["BPS_LOG_SCORE_BY_CUT"] = workdir+"/sdp/score_by_cut/"+run_name
 p = subprocess.run(cmd, stdout=subprocess.PIPE, env=p_env)
 
 if p.returncode or len(p.stdout.split(b"\n"))<3: