static char[] map = new char[35];public static void main(String[] args) {for (int i = 0; i < map.length; i++) {if (i < 10)map[i] = (char) ('0' + i);elsemap[i] = (char) ('a' + i - 10);}Scanner inputScanner = new Scanner(System.in);int base = inputScanner.nextInt();String num1 = inputScanner.next(); // 被减数String num2 = inputScanner.next(); // 减数StringBuilder num1Builder = new StringBuilder(num1);StringBuilder num2Builder = new StringBuilder(num2);if (num1Builder.length() > num2Builder.length()) {System.out.print(0 + &quot; &quot;);System.out.print(getResult(num1Builder, num2Builder, base));} else if (num1Builder.length() < num2Builder.length()) {System.out.print(1 + &quot; &quot;);System.out.println(getResult(num2Builder, num1Builder, base));} else {for (int i = 0; i < num1Builder.length(); i++) {if (num1Builder.charAt(i) > num2Builder.charAt(i)) {System.out.print(0 + &quot; &quot;);System.out.print(getResult(num1Builder, num2Builder, base));break;} else if (num1Builder.charAt(i) < num2Builder.charAt(i)){System.out.print(1 + &quot; &quot;);System.out.println(getResult(num2Builder, num1Builder, base));break;}if (num1Builder.length() - 1 == i) {System.out.print(0 + &quot; &quot;);System.out.print(0);}}}}public static String getResult(StringBuilder num1Builder, StringBuilder num2Builder, int base) {StringBuilder ans = new StringBuilder();num1Builder.reverse();num2Builder.reverse();for (int i = 0; i < num1Builder.length(); i++) {if (i >= num2Builder.length()) {ans.append(num1Builder.substring(i, num1Builder.length()));break;}char num1 = num1Builder.charAt(i);char num2 = num2Builder.charAt(i);if (num1 >= num2)ans.append(map[num1 - num2]);else {backtrack(num1Builder, 1 , i, base);ans.append(map[num1 + base - num2]);}}return ans.reverse().toString();}public static void backtrack(StringBuilder num1Builder, int index, int i, int base) {if (num1Builder.charAt(i + index) != '0') {char ch = num1Builder.charAt(i + index);num1Builder.delete(i + index, i + index + 1);num1Builder.insert(i + index, (char)(ch - 1));} else {backtrack(num1Builder, index + 1 , i, base);num1Builder.delete(i + index, i + index + 1);num1Builder.insert(i + index, (char)(base - 1));}}