# Uiua, <s>46</s> <s>44</s> <s>42</s> <s>40</s> <s>39</s> 38 bytes <sup>[crossed out 44 is still regular 44 :(](https://codegolf.stackexchange.com/a/256052/108687)</sup> ⊏↧5/◇+×+1⇡4{⇌.⊞=.⊙⟜¤⟜=}⇡+1×2.:$ /\-|O [Try it!](https://uiua.org/pad?src=0_10_2__RiDihpAg4oqP4oanNS_il4crw5crMeKHoTR74oeMLuKKnj0u4oqZ4p-cwqTin5w9feKHoSsxw5cyLjokICAvXC18TwoK4omhKCZwIiLiiKniiaEmcEYuKeKHoTUK) I submitted this on the day of the 2024 solar eclipse, which is fitting for a challenge about the sun. (Edit - the eclipse was beautiful! I saw it at around 85%-90% coverage) At one point this borrowed some logic from [randomra’s very clever J solution](https://codegolf.stackexchange.com/a/49785/108687), but I found a shorter solution using a different method. Outdated explanation: Consider the input 3. We double this and add 1 to get the side length 7. From this we start with the identity matrix, and a reversed copy: 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 Also make the array of this many zeros with a 1 at the position of the original input: 0 0 0 1 0 0 0 Create a square matrix of this, and a transposed copy: 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 1 1 1 1 1 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 Then we take these 4 matrices in an array and multiply them by 1, 2, 3, and 4 respectively: 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 2 2 2 2 2 2 2 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 0 0 0 0 0 4 0 3 0 0 0 0 0 0 0 0 0 0 4 0 0 0 3 0 0 0 0 0 0 0 0 4 0 0 0 0 0 3 0 0 0 0 0 0 4 0 0 0 0 0 0 0 3 0 0 0 0 4 0 0 0 0 0 0 0 0 0 3 0 0 4 0 0 0 0 0 0 0 0 0 0 0 3 4 0 0 0 0 0 0 Sum them all together: 3 0 0 1 0 0 4 0 3 0 1 0 4 0 0 0 3 1 4 0 0 2 2 2 10 2 2 2 0 0 4 1 3 0 0 0 4 0 1 0 3 0 4 0 0 1 0 0 3 We’re going to index these numbers into a string to get each character, and that 10 is going to get in the way, so take the minimum of the results and 5: 3 0 0 1 0 0 4 0 3 0 1 0 4 0 0 0 3 1 4 0 0 2 2 2 5 2 2 2 0 0 4 1 3 0 0 0 4 0 1 0 3 0 4 0 0 1 0 0 3 Finally index these into a string so that 0 becomes a space, 1 becomes `|`, 2 becomes `-`, 3 becomes `\`, 4 becomes `/`, and 5 becomes `O`: \ | / \ | / \|/ ---O--- /|\ / | \ / | \