From d0908d2323111af25bbe54e606482854136ec5f0 Mon Sep 17 00:00:00 2001
From: shuklaji23 <shuklaayushanand@gmail.com>
Date: Tue, 25 Jun 2024 12:09:21 +0530
Subject: [PATCH 1/5] added java and python solution for cf581d

---
 solutions/bronze/cf-581D.mdx | 144 ++++++++++++++++++++++++++++++++++-
 1 file changed, 143 insertions(+), 1 deletion(-)

diff --git a/solutions/bronze/cf-581D.mdx b/solutions/bronze/cf-581D.mdx
index 7f4ad4badc..974d762c00 100644
--- a/solutions/bronze/cf-581D.mdx
+++ b/solutions/bronze/cf-581D.mdx
@@ -2,7 +2,7 @@
 id: cf-581D
 source: CF
 title: Three Logos
-author: Chongtian Ma
+author: Chongtian Ma, Ayush Shukla
 ---
 
 [Official Editorial](https://codeforces.com/blog/entry/20508)
@@ -89,4 +89,146 @@ int main() {
 ```
 
 </CPPSection>
+
+<JavaSection>
+
+```java
+import java.io.*;
+import java.util.*;
+
+public class Logos {
+	public static void main(String[] args) {
+		Kattio io = new Kattio();
+		int logos[] = new int[6];
+		for(int i = 0; i < logos.length; i++) {
+			logos[i] = io.nextInt();
+		}
+		int k;
+		for(int i = 0; i < logos.length; i += 2) {
+			if(logos[i] < logos[i+1]){
+				k = logos[i];
+				logos[i] = logos[i+1];
+				logos[i+1] = k;
+			}
+		}				
+		if( logos[0] == logos[2] && logos[4] == logos[2] && (logos[1] + logos[3] + logos[5]) == logos[0]) {
+			int n = logos[0];
+			char c = 'A';
+			io.println(n);
+			k = 0;
+			for(int j, i = 1; i < 6; i += 2, c++){
+				for(j = 0; j < logos[i]; j++){
+					for(k = 0; k < n; k++) {
+						io.print(c);
+					}
+					io.println();
+				}
+			}
+			io.flush();
+			io.close();
+			return;
+		}		
+
+		int n = Math.max(logos[0], Math.max(logos[2], logos[4]));
+		int h = -1;
+
+		char let[]  = new char[]{'A', 'B', 'C'};
+		for(int i = 0; i < 6; i += 2) {
+			if(logos[i] == n) {
+				h = logos[i+1];
+				char _t = let[2];
+				let[2] = let[i/2];
+				let[i/2] = _t;
+				logos[i] = logos[4];
+				logos[i+1] = logos[5];
+				logos[4] = -1;
+				logos[5] = -1;
+				break;
+			}
+		}
+		if(h == -1) {
+			io.println(-1);
+			io.flush();
+			io.close();
+			return;
+		}
+		boolean ok=false;
+		int p =- 1;
+		if (logos[0] == logos[2] && logos[0] == n - h && logos[1] + logos[3] == n) {
+			ok = true;
+			p = logos[1];
+		} else if(logos[0] == logos[3] && logos[0] == n - h && logos[1] + logos[2] == n) {
+			ok = true;
+			p = logos[1];
+		} else if(logos[1] == logos[2] && logos[1] == n - h && logos[0] + logos[3] == n) {
+			ok = true;
+			p = logos[0];
+		} else if(logos[1] == logos[3] && logos[1] == n - h && logos[0] + logos[2] == n) {
+			ok=true;
+			p=logos[0];
+		}
+		if(!ok) {
+			io.println(-1);
+			io.flush();
+			io.close();
+			return;
+		}
+		io.println(n);
+		k=0;
+		for(int j = 0; j < h; j++) {
+			for(k = 0; k < n; k++) {
+				io.print(let[2]);
+			}
+			io.println();
+		}
+		k=0;
+		for(int j = h; j < n; j++) {
+			for(k = 0; k < p; k++) {
+				io.print(let[0]);
+			}
+			for(k = p; k < n; k++) {
+				io.print(let[1]);
+			}
+			io.println();
+		}
+		io.flush();
+		io.close();
+	}
+	//CodeSnip{Kattio}
+}
+```
+
+</JavaSection>
+
+<PySection>
+```py
+
+a, b, c, d, e, f = list(map(int, input().split()))
+n, n2 = 1, a * b + c * d + e * f
+while n ** 2 < n2:
+    n += 1
+if n ** 2 > n2:
+    print(-1)
+    exit()
+l = sorted([[max(a, b), min(a, b), 'A'], [max(c, d), min(c, d), 'B'], [max(e, f), min(e, f), 'C']])
+if l[2][0] != n:
+    print(-1)
+    exit()
+v = str(n) + '\n' + (l[2][2] * n + '\n') * l[2][1]
+if l[0][0] == n and l[1][0] == n:
+    for i in range(2):
+        v += (l[i][2] * n + '\n') * l[i][1]
+else:
+    s = n - l[2][1]
+    if s not in l[0] or s not in l[1]:
+        print(-1)
+        exit()
+    logos, y = l[0][1] if l[0][0] == s else l[0][0], l[1][1] if l[1][0] == s else l[1][0]
+    v += (l[0][2] * logos + l[1][2] * y + '\n') * s
+print(v)
+
+```
+
+</PySection>
+
 </LanguageSection>

From 45884dd7ed1f46dc751d3e2a356aab00e48d8fb0 Mon Sep 17 00:00:00 2001
From: "pre-commit-ci[bot]"
 <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Date: Tue, 25 Jun 2024 06:45:27 +0000
Subject: [PATCH 2/5] [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci
---
 solutions/bronze/cf-581D.mdx | 132 ++++++++++++++++++-----------------
 1 file changed, 67 insertions(+), 65 deletions(-)

diff --git a/solutions/bronze/cf-581D.mdx b/solutions/bronze/cf-581D.mdx
index 974d762c00..a2a3e1d70a 100644
--- a/solutions/bronze/cf-581D.mdx
+++ b/solutions/bronze/cf-581D.mdx
@@ -100,101 +100,96 @@ public class Logos {
 	public static void main(String[] args) {
 		Kattio io = new Kattio();
 		int logos[] = new int[6];
-		for(int i = 0; i < logos.length; i++) {
-			logos[i] = io.nextInt();
-		}
+		for (int i = 0; i < logos.length; i++) { logos[i] = io.nextInt(); }
 		int k;
-		for(int i = 0; i < logos.length; i += 2) {
-			if(logos[i] < logos[i+1]){
+		for (int i = 0; i < logos.length; i += 2) {
+			if (logos[i] < logos[i + 1]) {
 				k = logos[i];
-				logos[i] = logos[i+1];
-				logos[i+1] = k;
+				logos[i] = logos[i + 1];
+				logos[i + 1] = k;
 			}
-		}				
-		if( logos[0] == logos[2] && logos[4] == logos[2] && (logos[1] + logos[3] + logos[5]) == logos[0]) {
+		}
+		if (logos[0] == logos[2] && logos[4] == logos[2] &&
+		    (logos[1] + logos[3] + logos[5]) == logos[0]) {
 			int n = logos[0];
 			char c = 'A';
 			io.println(n);
 			k = 0;
-			for(int j, i = 1; i < 6; i += 2, c++){
-				for(j = 0; j < logos[i]; j++){
-					for(k = 0; k < n; k++) {
-						io.print(c);
-					}
+			for (int j, i = 1; i < 6; i += 2, c++) {
+				for (j = 0; j < logos[i]; j++) {
+					for (k = 0; k < n; k++) { io.print(c); }
 					io.println();
 				}
 			}
 			io.flush();
 			io.close();
 			return;
-		}		
+		}
 
 		int n = Math.max(logos[0], Math.max(logos[2], logos[4]));
 		int h = -1;
 
-		char let[]  = new char[]{'A', 'B', 'C'};
-		for(int i = 0; i < 6; i += 2) {
-			if(logos[i] == n) {
-				h = logos[i+1];
+		char let[] = new char[] {'A', 'B', 'C'};
+		for (int i = 0; i < 6; i += 2) {
+			if (logos[i] == n) {
+				h = logos[i + 1];
 				char _t = let[2];
-				let[2] = let[i/2];
-				let[i/2] = _t;
+				let[2] = let[i / 2];
+				let[i / 2] = _t;
 				logos[i] = logos[4];
-				logos[i+1] = logos[5];
+				logos[i + 1] = logos[5];
 				logos[4] = -1;
 				logos[5] = -1;
 				break;
 			}
 		}
-		if(h == -1) {
+		if (h == -1) {
 			io.println(-1);
 			io.flush();
 			io.close();
 			return;
 		}
-		boolean ok=false;
-		int p =- 1;
-		if (logos[0] == logos[2] && logos[0] == n - h && logos[1] + logos[3] == n) {
+		boolean ok = false;
+		int p = -1;
+		if (logos[0] == logos[2] && logos[0] == n - h &&
+		    logos[1] + logos[3] == n) {
 			ok = true;
 			p = logos[1];
-		} else if(logos[0] == logos[3] && logos[0] == n - h && logos[1] + logos[2] == n) {
+		} else if (logos[0] == logos[3] && logos[0] == n - h &&
+		           logos[1] + logos[2] == n) {
 			ok = true;
 			p = logos[1];
-		} else if(logos[1] == logos[2] && logos[1] == n - h && logos[0] + logos[3] == n) {
+		} else if (logos[1] == logos[2] && logos[1] == n - h &&
+		           logos[0] + logos[3] == n) {
+			ok = true;
+			p = logos[0];
+		} else if (logos[1] == logos[3] && logos[1] == n - h &&
+		           logos[0] + logos[2] == n) {
 			ok = true;
 			p = logos[0];
-		} else if(logos[1] == logos[3] && logos[1] == n - h && logos[0] + logos[2] == n) {
-			ok=true;
-			p=logos[0];
 		}
-		if(!ok) {
+		if (!ok) {
 			io.println(-1);
 			io.flush();
 			io.close();
 			return;
 		}
 		io.println(n);
-		k=0;
-		for(int j = 0; j < h; j++) {
-			for(k = 0; k < n; k++) {
-				io.print(let[2]);
-			}
+		k = 0;
+		for (int j = 0; j < h; j++) {
+			for (k = 0; k < n; k++) { io.print(let[2]); }
 			io.println();
 		}
-		k=0;
-		for(int j = h; j < n; j++) {
-			for(k = 0; k < p; k++) {
-				io.print(let[0]);
-			}
-			for(k = p; k < n; k++) {
-				io.print(let[1]);
-			}
+		k = 0;
+		for (int j = h; j < n; j++) {
+			for (k = 0; k < p; k++) { io.print(let[0]); }
+			for (k = p; k < n; k++) { io.print(let[1]); }
 			io.println();
 		}
 		io.flush();
 		io.close();
 	}
-	//CodeSnip{Kattio}
+	// CodeSnip{Kattio}
 }
 ```
 
@@ -202,31 +197,38 @@ public class Logos {
 
 <PySection>
 ```py
-
 a, b, c, d, e, f = list(map(int, input().split()))
 n, n2 = 1, a * b + c * d + e * f
-while n ** 2 < n2:
-    n += 1
-if n ** 2 > n2:
-    print(-1)
-    exit()
-l = sorted([[max(a, b), min(a, b), 'A'], [max(c, d), min(c, d), 'B'], [max(e, f), min(e, f), 'C']])
+while n**2 < n2:
+	n += 1
+if n**2 > n2:
+	print(-1)
+	exit()
+l = sorted(
+	[
+		[max(a, b), min(a, b), "A"],
+		[max(c, d), min(c, d), "B"],
+		[max(e, f), min(e, f), "C"],
+	]
+)
 if l[2][0] != n:
-    print(-1)
-    exit()
-v = str(n) + '\n' + (l[2][2] * n + '\n') * l[2][1]
+	print(-1)
+	exit()
+v = str(n) + "\n" + (l[2][2] * n + "\n") * l[2][1]
 if l[0][0] == n and l[1][0] == n:
-    for i in range(2):
-        v += (l[i][2] * n + '\n') * l[i][1]
+	for i in range(2):
+		v += (l[i][2] * n + "\n") * l[i][1]
 else:
-    s = n - l[2][1]
-    if s not in l[0] or s not in l[1]:
-        print(-1)
-        exit()
-    logos, y = l[0][1] if l[0][0] == s else l[0][0], l[1][1] if l[1][0] == s else l[1][0]
-    v += (l[0][2] * logos + l[1][2] * y + '\n') * s
+	s = n - l[2][1]
+	if s not in l[0] or s not in l[1]:
+		print(-1)
+		exit()
+	logos, y = (
+		l[0][1] if l[0][0] == s else l[0][0],
+		l[1][1] if l[1][0] == s else l[1][0],
+	)
+	v += (l[0][2] * logos + l[1][2] * y + "\n") * s
 print(v)
-
 ```
 
 </PySection>

From 7ee9236b3cf25c014006b60ed9b84c48b78081d0 Mon Sep 17 00:00:00 2001
From: SansPapyrus683 <55369003+SansPapyrus683@users.noreply.github.com>
Date: Wed, 26 Jun 2024 00:24:50 -0700
Subject: [PATCH 3/5] Update cf-581D.mdx

---
 solutions/bronze/cf-581D.mdx | 4 +---
 1 file changed, 1 insertion(+), 3 deletions(-)

diff --git a/solutions/bronze/cf-581D.mdx b/solutions/bronze/cf-581D.mdx
index a2a3e1d70a..d2775b0904 100644
--- a/solutions/bronze/cf-581D.mdx
+++ b/solutions/bronze/cf-581D.mdx
@@ -89,7 +89,6 @@ int main() {
 ```
 
 </CPPSection>
-
 <JavaSection>
 
 ```java
@@ -194,8 +193,8 @@ public class Logos {
 ```
 
 </JavaSection>
-
 <PySection>
+
 ```py
 a, b, c, d, e, f = list(map(int, input().split()))
 n, n2 = 1, a * b + c * d + e * f
@@ -232,5 +231,4 @@ print(v)
 ```
 
 </PySection>
-
 </LanguageSection>

From 50733de3359ddd4657b8bb62ee4b21ec4240fe15 Mon Sep 17 00:00:00 2001
From: shuklaji23 <shuklaayushanand@gmail.com>
Date: Fri, 28 Jun 2024 09:44:08 +0530
Subject: [PATCH 4/5] added requested changes

---
 solutions/bronze/cf-581D.mdx | 42 +++++++++++++++++++-----------------
 1 file changed, 22 insertions(+), 20 deletions(-)

diff --git a/solutions/bronze/cf-581D.mdx b/solutions/bronze/cf-581D.mdx
index a2a3e1d70a..98494ce89a 100644
--- a/solutions/bronze/cf-581D.mdx
+++ b/solutions/bronze/cf-581D.mdx
@@ -99,8 +99,10 @@ import java.util.*;
 public class Logos {
 	public static void main(String[] args) {
 		Kattio io = new Kattio();
-		int logos[] = new int[6];
-		for (int i = 0; i < logos.length; i++) { logos[i] = io.nextInt(); }
+		int[] logos = new int[6];
+		for (int i = 0; i < logos.length; i++) {
+			logos[i] = io.nextInt();
+		}
 		int k;
 		for (int i = 0; i < logos.length; i += 2) {
 			if (logos[i] < logos[i + 1]) {
@@ -109,8 +111,7 @@ public class Logos {
 				logos[i + 1] = k;
 			}
 		}
-		if (logos[0] == logos[2] && logos[4] == logos[2] &&
-		    (logos[1] + logos[3] + logos[5]) == logos[0]) {
+		if (logos[0] == logos[2] && logos[4] == logos[2] && (logos[1] + logos[3] + logos[5]) == logos[0]) {
 			int n = logos[0];
 			char c = 'A';
 			io.println(n);
@@ -121,7 +122,6 @@ public class Logos {
 					io.println();
 				}
 			}
-			io.flush();
 			io.close();
 			return;
 		}
@@ -129,7 +129,7 @@ public class Logos {
 		int n = Math.max(logos[0], Math.max(logos[2], logos[4]));
 		int h = -1;
 
-		char let[] = new char[] {'A', 'B', 'C'};
+		char[] let = new char[] {'A', 'B', 'C'};
 		for (int i = 0; i < 6; i += 2) {
 			if (logos[i] == n) {
 				h = logos[i + 1];
@@ -145,48 +145,44 @@ public class Logos {
 		}
 		if (h == -1) {
 			io.println(-1);
-			io.flush();
 			io.close();
 			return;
 		}
 		boolean ok = false;
 		int p = -1;
-		if (logos[0] == logos[2] && logos[0] == n - h &&
-		    logos[1] + logos[3] == n) {
+		if (logos[0] == logos[2] && logos[0] == n - h && logos[1] + logos[3] == n) {
 			ok = true;
 			p = logos[1];
-		} else if (logos[0] == logos[3] && logos[0] == n - h &&
-		           logos[1] + logos[2] == n) {
+		} else if (logos[0] == logos[3] && logos[0] == n - h && logos[1] + logos[2] == n) {
 			ok = true;
 			p = logos[1];
-		} else if (logos[1] == logos[2] && logos[1] == n - h &&
-		           logos[0] + logos[3] == n) {
+		} else if (logos[1] == logos[2] && logos[1] == n - h && logos[0] + logos[3] == n) {
 			ok = true;
 			p = logos[0];
-		} else if (logos[1] == logos[3] && logos[1] == n - h &&
-		           logos[0] + logos[2] == n) {
+		} else if (logos[1] == logos[3] && logos[1] == n - h && logos[0] + logos[2] == n) {
 			ok = true;
 			p = logos[0];
 		}
 		if (!ok) {
 			io.println(-1);
-			io.flush();
 			io.close();
 			return;
 		}
 		io.println(n);
 		k = 0;
 		for (int j = 0; j < h; j++) {
-			for (k = 0; k < n; k++) { io.print(let[2]); }
+			for (k = 0; k < n; k++) {
+				io.print(let[2]);
+			}
 			io.println();
 		}
+		
 		k = 0;
 		for (int j = h; j < n; j++) {
 			for (k = 0; k < p; k++) { io.print(let[0]); }
 			for (k = p; k < n; k++) { io.print(let[1]); }
 			io.println();
 		}
-		io.flush();
 		io.close();
 	}
 	// CodeSnip{Kattio}
@@ -199,11 +195,13 @@ public class Logos {
 ```py
 a, b, c, d, e, f = list(map(int, input().split()))
 n, n2 = 1, a * b + c * d + e * f
-while n**2 < n2:
+while n * n < n2:
 	n += 1
-if n**2 > n2:
+
+if n * n > n2:
 	print(-1)
 	exit()
+
 l = sorted(
 	[
 		[max(a, b), min(a, b), "A"],
@@ -211,10 +209,13 @@ l = sorted(
 		[max(e, f), min(e, f), "C"],
 	]
 )
+
 if l[2][0] != n:
 	print(-1)
 	exit()
+
 v = str(n) + "\n" + (l[2][2] * n + "\n") * l[2][1]
+
 if l[0][0] == n and l[1][0] == n:
 	for i in range(2):
 		v += (l[i][2] * n + "\n") * l[i][1]
@@ -228,6 +229,7 @@ else:
 		l[1][1] if l[1][0] == s else l[1][0],
 	)
 	v += (l[0][2] * logos + l[1][2] * y + "\n") * s
+
 print(v)
 ```
 

From 63145c78a0bc998f4776175ed166d6f0a2a7fbf6 Mon Sep 17 00:00:00 2001
From: "pre-commit-ci[bot]"
 <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Date: Fri, 28 Jun 2024 04:18:41 +0000
Subject: [PATCH 5/5] [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci
---
 solutions/bronze/cf-581D.mdx | 25 +++++++++++++------------
 1 file changed, 13 insertions(+), 12 deletions(-)

diff --git a/solutions/bronze/cf-581D.mdx b/solutions/bronze/cf-581D.mdx
index fadd9664af..eb001ec992 100644
--- a/solutions/bronze/cf-581D.mdx
+++ b/solutions/bronze/cf-581D.mdx
@@ -99,9 +99,7 @@ public class Logos {
 	public static void main(String[] args) {
 		Kattio io = new Kattio();
 		int[] logos = new int[6];
-		for (int i = 0; i < logos.length; i++) {
-			logos[i] = io.nextInt();
-		}
+		for (int i = 0; i < logos.length; i++) { logos[i] = io.nextInt(); }
 		int k;
 		for (int i = 0; i < logos.length; i += 2) {
 			if (logos[i] < logos[i + 1]) {
@@ -110,7 +108,8 @@ public class Logos {
 				logos[i + 1] = k;
 			}
 		}
-		if (logos[0] == logos[2] && logos[4] == logos[2] && (logos[1] + logos[3] + logos[5]) == logos[0]) {
+		if (logos[0] == logos[2] && logos[4] == logos[2] &&
+		    (logos[1] + logos[3] + logos[5]) == logos[0]) {
 			int n = logos[0];
 			char c = 'A';
 			io.println(n);
@@ -149,16 +148,20 @@ public class Logos {
 		}
 		boolean ok = false;
 		int p = -1;
-		if (logos[0] == logos[2] && logos[0] == n - h && logos[1] + logos[3] == n) {
+		if (logos[0] == logos[2] && logos[0] == n - h &&
+		    logos[1] + logos[3] == n) {
 			ok = true;
 			p = logos[1];
-		} else if (logos[0] == logos[3] && logos[0] == n - h && logos[1] + logos[2] == n) {
+		} else if (logos[0] == logos[3] && logos[0] == n - h &&
+		           logos[1] + logos[2] == n) {
 			ok = true;
 			p = logos[1];
-		} else if (logos[1] == logos[2] && logos[1] == n - h && logos[0] + logos[3] == n) {
+		} else if (logos[1] == logos[2] && logos[1] == n - h &&
+		           logos[0] + logos[3] == n) {
 			ok = true;
 			p = logos[0];
-		} else if (logos[1] == logos[3] && logos[1] == n - h && logos[0] + logos[2] == n) {
+		} else if (logos[1] == logos[3] && logos[1] == n - h &&
+		           logos[0] + logos[2] == n) {
 			ok = true;
 			p = logos[0];
 		}
@@ -170,12 +173,10 @@ public class Logos {
 		io.println(n);
 		k = 0;
 		for (int j = 0; j < h; j++) {
-			for (k = 0; k < n; k++) {
-				io.print(let[2]);
-			}
+			for (k = 0; k < n; k++) { io.print(let[2]); }
 			io.println();
 		}
-		
+
 		k = 0;
 		for (int j = h; j < n; j++) {
 			for (k = 0; k < p; k++) { io.print(let[0]); }