//package KLM;
import java.util.*;
import java.lang.*;
import java.io.*;
//import KLM.Sonya.InputReader.SpaceCharFilter;
class Copying_Books {
// --------------------------INPUT---------------------------- //
static class InputReader {
private byte[] buf = new byte[8192];
private int curChar;
private int snumChars;
private SpaceCharFilter filter;
this.stream = stream;
}
public int snext() {
if (snumChars == -1)
throw new InputMismatchException();
if (curChar >= snumChars) {
curChar = 0;
try {
snumChars = stream.read(buf);
throw new InputMismatchException();
}
if (snumChars <= 0)
return -1;
}
return buf[curChar++];
}
public int nextInt() {
int c = snext();
while (isSpaceChar(c))
c = snext();
int sgn = 1;
if (c == '-') {
sgn = -1;
c = snext();
}
int res = 0;
do {
if (c < '0' || c > '9')
throw new InputMismatchException();
res *= 10;
res += c - '0';
c = snext();
} while (!isSpaceChar(c));
return res * sgn;
}
public long nextLong() {
int c = snext();
while (isSpaceChar(c))
c = snext();
int sgn = 1;
if (c == '-') {
sgn = -1;
c = snext();
}
long res = 0;
do {
if (c < '0' || c > '9')
throw new InputMismatchException();
res *= 10;
res += c - '0';
c = snext();
} while (!isSpaceChar(c));
return res * sgn;
}
int c = snext();
while (isSpaceChar(c))
c = snext();
StringBuilder res = new StringBuilder();
do {
res.appendCodePoint(c);
c = snext();
} while (!isSpaceChar(c));
return res.toString();
}
public boolean isSpaceChar(int c) {
if (filter != null)
return filter.isSpaceChar(c);
return c == ' ' || c == '\n' || c == '\r' || c == '\t' || c == -1;
}
public interface SpaceCharFilter {
public boolean isSpaceChar(int ch);
}
}
// -------------------------MAIN SOLUTION----------------------------- //
public static void main
(String[] args
){ InputReader in
= new InputReader
(System.
in); int t = in.nextInt();
while(t-->0){
int n = in.nextInt();
int k = in.nextInt();
int[] a = new int[n];
long sum = 0;
for(int i =0;i<n;i++){
a[i] = in.nextInt();
if(a[i]>mx)mx = a[i];
sum += a[i];
}
//ArrayList<Integer> al = new ArrayList<Integer>();
long lo = mx;
long hi = sum;
while(hi-lo>1){
// al.clear();
long mid = (hi+lo)/2;
int required = 1,current_book = 0;
for(int i =0;i<n;i++){
if(current_book+a[i] <=mid){
current_book+=a[i];
}
else{
// al.add(current_book);
++required;
current_book = a[i];
}
}
if(required <= k){
hi = mid;
}
else{
lo = mid+1;
}
}
// here lo is the minimum of maximum books
StringBuilder sb = new StringBuilder();
sb.append(a[n-1]);
sum = a[n-1];
k--;
for(int i = n-2;i>=0;i--){
if(sum+a[i]<=lo && i+1>k){
sb.insert(0," ");
sum += a[i];
}
else{
sum = a[i];
sb.insert(0," / ");
k--;
}
sb.insert(0,a[i]);
}
System.
out.
println(sb.
toString());
}
}
}