#include<cstdio>
#include<algorithm>
using namespace std;
struct S
{
int n, l;
};
bool cmp(S a, S b) //结构体排序 快速排序
{
return a.l < b.l; //快速排序 这里的 布尔变量 决定的是 对什么东西按照什么顺序排
}
int main()//以后就一直用c++, 这里的结构体变量声明很方便.
{
int t, n;
S s[35]; //不得不说 c++的 结构体声明6得很 .
scanf("%d", &t);
while (t--)
{
scanf("%d", &n);
for (int i = 0; i < n; i++)
scanf("%d%d", &s[i].l, &s[i].n); // 结构体数组 有机会的话,再用一下结构体.
sort(s,s+n,cmp); //cmp 决定 排序 的对象和方法.
for (int i = 0; i < n; i++)
{
for (int k = 0; k < s[i].n; k++)
{
printf(">+");
for (int j = 0; j < s[i].l - 2; j++)
printf("-");
printf("+>\n");
}
printf("\n");
}
}
return 0;
}