#include <stdio.h>
#include <string.h>
#include <stdlib.h>
// Function to swap two characters
void swap(char *x, char *y) {
char temp = *x;
*x = *y;
*y = temp;
}
// Function to print all permutations of the string
void permute(char *str, int l, int r) {
if (l == r) {
printf("%s ", str
); // Print the permutation } else {
for (int i = l; i <= r; i++) {
swap(&str[l], &str[i]); // Swap characters
permute(str, l + 1, r); // Recur for the next character
swap(&str[l], &str[i]); // Backtrack
}
}
}
int main() {
int T;
scanf("%d", &T
); // Number of test cases
// Process each test case
for (int t = 0; t < T; t++) {
char s[6]; // String size is at most 5, so array size 6
// Sort the string to ensure lexicographical order
// Simple sorting logic
for (int i = 0; i < len-1; i++) {
for (int j = i+1; j < len; j++) {
if (s[i] > s[j]) {
swap(&s[i], &s[j]);
}
}
}
permute(s, 0, len - 1); // Call permute to generate all permutations
printf("\n"); // Print a new line after all permutations }
return 0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CiNpbmNsdWRlIDxzdHJpbmcuaD4KI2luY2x1ZGUgPHN0ZGxpYi5oPgoKLy8gRnVuY3Rpb24gdG8gc3dhcCB0d28gY2hhcmFjdGVycwp2b2lkIHN3YXAoY2hhciAqeCwgY2hhciAqeSkgewogICAgY2hhciB0ZW1wID0gKng7CiAgICAqeCA9ICp5OwogICAgKnkgPSB0ZW1wOwp9CgovLyBGdW5jdGlvbiB0byBwcmludCBhbGwgcGVybXV0YXRpb25zIG9mIHRoZSBzdHJpbmcKdm9pZCBwZXJtdXRlKGNoYXIgKnN0ciwgaW50IGwsIGludCByKSB7CiAgICBpZiAobCA9PSByKSB7CiAgICAgICAgcHJpbnRmKCIlcyAiLCBzdHIpOyAgLy8gUHJpbnQgdGhlIHBlcm11dGF0aW9uCiAgICB9IGVsc2UgewogICAgICAgIGZvciAoaW50IGkgPSBsOyBpIDw9IHI7IGkrKykgewogICAgICAgICAgICBzd2FwKCZzdHJbbF0sICZzdHJbaV0pOyAgLy8gU3dhcCBjaGFyYWN0ZXJzCiAgICAgICAgICAgIHBlcm11dGUoc3RyLCBsICsgMSwgcik7ICAvLyBSZWN1ciBmb3IgdGhlIG5leHQgY2hhcmFjdGVyCiAgICAgICAgICAgIHN3YXAoJnN0cltsXSwgJnN0cltpXSk7ICAvLyBCYWNrdHJhY2sKICAgICAgICB9CiAgICB9Cn0KCmludCBtYWluKCkgewogICAgaW50IFQ7CiAgICBzY2FuZigiJWQiLCAmVCk7ICAvLyBOdW1iZXIgb2YgdGVzdCBjYXNlcwoKICAgIC8vIFByb2Nlc3MgZWFjaCB0ZXN0IGNhc2UKICAgIGZvciAoaW50IHQgPSAwOyB0IDwgVDsgdCsrKSB7CiAgICAgICAgY2hhciBzWzZdOyAgLy8gU3RyaW5nIHNpemUgaXMgYXQgbW9zdCA1LCBzbyBhcnJheSBzaXplIDYKICAgICAgICBzY2FuZigiJXMiLCBzKTsKCiAgICAgICAgLy8gU29ydCB0aGUgc3RyaW5nIHRvIGVuc3VyZSBsZXhpY29ncmFwaGljYWwgb3JkZXIKICAgICAgICBpbnQgbGVuID0gc3RybGVuKHMpOwogICAgICAgIC8vIFNpbXBsZSBzb3J0aW5nIGxvZ2ljCiAgICAgICAgZm9yIChpbnQgaSA9IDA7IGkgPCBsZW4tMTsgaSsrKSB7CiAgICAgICAgICAgIGZvciAoaW50IGogPSBpKzE7IGogPCBsZW47IGorKykgewogICAgICAgICAgICAgICAgaWYgKHNbaV0gPiBzW2pdKSB7CiAgICAgICAgICAgICAgICAgICAgc3dhcCgmc1tpXSwgJnNbal0pOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICBwZXJtdXRlKHMsIDAsIGxlbiAtIDEpOyAgLy8gQ2FsbCBwZXJtdXRlIHRvIGdlbmVyYXRlIGFsbCBwZXJtdXRhdGlvbnMKICAgICAgICBwcmludGYoIlxuIik7ICAvLyBQcmludCBhIG5ldyBsaW5lIGFmdGVyIGFsbCBwZXJtdXRhdGlvbnMKICAgIH0KCiAgICByZXR1cm4gMDsKfQo=