In The Jailhouse Now Challenge
Given an integer n (where 4&lt;=n&lt;=10**6) as input create an ASCII art &quot;prison door&quot;* measuring n-1 characters wide and n characters high, using the symbols from the example below.

Example
╔╦╗
╠╬╣
╠╬╣
╚╩╝

The characters used are as follows:
┌───────────────┬─────────┬───────┐
│ Position      │ Symbol  │ Char  │
├───────────────┼─────────┼───────┤
│ Top Left      │    ╔    │ 9556  │
├───────────────┼─────────┼───────┤
│ Top           │    ╦    │ 9574  │
├───────────────┼─────────┼───────┤
│ Top Right     │    ╗    │ 9559  │
├───────────────┼─────────┼───────┤
│ Right         │    ╣    │ 9571  │
├───────────────┼─────────┼───────┤
│ Bottom Right  │    ╝    │ 9565  │
├───────────────┼─────────┼───────┤
│ Bottom        │    ╩    │ 9577  │
├───────────────┼─────────┼───────┤
│ Bottom Left   │    ╚    │ 9562  │
├───────────────┼─────────┼───────┤
│ Left          │    ╠    │ 9568  │
├───────────────┼─────────┼───────┤
│ Inner         │    ╬    │ 9580  │
└───────────────┴─────────┴───────┘


Rules

You may take input by any reasonable, convenient means as long as it's permitted by standard I/O rules.
For the purposes of this challenge, in languages where the symbols used to build the &quot;door&quot; are multi-byte characters, they may be counted towards your score as a single byte each.
All other characters (single- or multi-byte) should be counted as normal.
Output may not contain any trailing spaces but a trailing newline is permitted if absolutely necessary.
This is code-golf so lowest byte count wins.


Test Cases
Input: 4
Output:
╔╦╗
╠╬╣
╠╬╣
╚╩╝

Input: 8
Output:
╔╦╦╦╦╦╗
╠╬╬╬╬╬╣
╠╬╬╬╬╬╣
╠╬╬╬╬╬╣
╠╬╬╬╬╬╣
╠╬╬╬╬╬╣
╠╬╬╬╬╬╣
╚╩╩╩╩╩╝

Input: 20
Output:
╔╦╦╦╦╦╦╦╦╦╦╦╦╦╦╦╦╦╗
╠╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╣
╠╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╣
╠╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╣
╠╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╣
╠╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╣
╠╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╣
╠╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╣
╠╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╣
╠╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╣
╠╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╣
╠╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╣
╠╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╣
╠╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╣
╠╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╣
╠╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╣
╠╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╣
╠╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╣
╠╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╣
╚╩╩╩╩╩╩╩╩╩╩╩╩╩╩╩╩╩╝

* Yes, I'm aware that the bigger it gets the less it looks like a prison door! :D
Java 11, 156 151 148 118 89 bytes

n-&gt;&quot;╔&quot;+&quot;╦&quot;.repeat(n-=3)+&quot;╗\n&quot;+(&quot;╠&quot;+&quot;╬&quot;.repeat(n)+&quot;╣\n&quot;).repeat(n+1)+&quot;╚&quot;+&quot;╩&quot;.repeat(n)+&quot;╝&quot;

Try it online.
Old 118 bytes answer in Java 8:
n-&gt;{String a=&quot;╔&quot;,b=&quot;╠&quot;,c=&quot;╚&quot;;for(int i=n;i--&gt;3;a+=&quot;╦&quot;,b+=&quot;╬&quot;)c+=&quot;╩&quot;;a+=&quot;╗\n&quot;;for(b+=&quot;╣\n&quot;;n--&gt;2;)a+=b;return a+c+&quot;╝&quot;;}

-30 bytes by creating a port of @raznagul C# (.NET Core) answer, after I golfed 5 bytes.
Try it here.
Explanation:
n-&gt;                    // Method with integer parameter and String return-type
  &quot;╔&quot;                  //  The top-left corner
  +&quot;╦&quot;                 //  Appended with the top edge
      .repeat(n-=3)    //  Repeated input-3 times (-2 for the corners, -1 for width)
  +&quot;╗\n&quot;               //  Appended with the top-right corner and a newline
  +(&quot;╠&quot;                //   The left edge
    +&quot;╬&quot;               //   Appended with the middle part
        .repeat(n)     //   Repeated input-3 times (-2 for edges, -1 for width)
    +&quot;╣\n&quot;             //   Appended with the right edge and a newline
          ).repeat(n+1)//  And repeat this entire line n-2 times (-2 for first/last rows)
  +&quot;╚&quot;                 //  Appended with the bottom-left corner
  +&quot;╩&quot;                 //  Appended with the bottom edge
      .repeat(n)       //  Repeated input-3 times
  +&quot;╝&quot;                 //  Appended with the bottom-right corners