g | x | w | all
Bytes Lang Time Link
084Tcl170121T234828Zsergiol
042AWK250228T151146Zxrs
161YASEPL240223T202201Zmadeforl
076TypeScript's type system240222T192938Znoodle p
105Go221013T034450Zbigyihsu
034Thunno 2230615T174524ZThe Thon
033Vyxal221013T033127ZDialFros
033Japt201118T110038ZShaggy
027Husk201117T154816ZRazetime
080International Esoteric Phonetic Language200627T164006Zbigyihsu
069Microsoft Excel200626T195554ZGeneral
097FEU200626T181151ZPkmnQ
027Stax200618T185324Zrecursiv
066PHP170119T130603Zaross
nanPerl 5170928T200024ZXcali
027SOGL V0.12170928T171123Zdzaima
044GolfScript170928T170501ZErik the
073Haskell170614T010041ZAneesh D
058k170614T003449Zzgrep
078Python170227T125709Ziwaseate
103Common Lisp170210T204318Zuser6516
087Racket170119T230255ZWinny
082dc170218T022847ZR. Kap
039Jelly170215T201446ZPidgeyUs
071Cheddar170214T181045ZPavel
072QBIC170210T215610Zsteenber
218ObjectiveC170210T120811ZAlbert R
090C++14170206T011953ZKarl Nap
183C++170121T172516ZGCaldL
nanC++170122T080355ZBrainSto
067PowerShell170119T143315Zbriantis
nanC++170119T122744ZMatthew
071C#170119T165015ZTheLetha
063Scala170121T090846Zjaxad012
nan170120T200328ZAntoine
068Mathematica170119T181242ZGreg Mar
063Mathematica170120T134513ZA Simmon
nan170119T191608Zuser1893
054Groovy170120T144028ZGurupad
111C170120T080812ZAhemone
049CJam170119T143947ZWolfram
068Python 3170119T162648ZAvahW
090Clojure170119T174416ZCarcigen
090C#170119T211407ZGeorg Pa
054Stacked170119T122916ZConor O&
051Ruby170119T211326ZValue In
095Batch170119T200512ZNeil
088PowerShell170119T194254Zmcmurdo
070Octave170119T184748Zrahnema1
070Ruby170119T170446ZTwilight
039Japt170119T162249ZOliver
125C#170119T163101ZTheLetha
079Python170119T154611Zmbomb007
106GameMaker Language170119T153942ZTimtech
037V170119T140844Znmjcman1
052JavaScript170119T115121Zuser4180
084Clojure170119T143814ZNikoNyrh
056Python 2170119T114722ZRod
092R170119T122147ZBillywob
091Befunge170119T133453ZJames Ho
097R170119T142311ZSven Hoh
057Perl 6170119T141127Zsmls
051Haskell170119T135846Zgntskn
02905AB1E170119T122920ZEmigna
101Lua170119T121613ZdevRiche
051Retina170119T122552ZMartin E
068Javascript ES6170119T115145Zuser6403

Tcl, 84 bytes

set g [set f "One more LUL and I'm out"]
time {regsub LUL $f \"$g\" f} $argv
puts $f

Try it online!

AWK, 42 bytes

gsub(/LUL/,"\"One more LUL and I'm out\"")

Attempt This Online!

gsub will keep reiterating for us.

YASEPL, 161 bytes

=a'(=s)"One more "=u)apostrophe=m)" and I"ſuſ"m out"=x)"LUL"=n=q$34»!a@!sſq!-!m)qſ" and I"ſuſ"m out"=x)"One more LUL"ſ" and I"ſuſ"m out"`1!b;s,a~#x;m,a<

TypeScript's type system, 100 77 76 bytes

type F<N>=`One more ${N extends`1${infer K}`?`"${F<K>}"`:"LUL"} and I'm out`

Try it at the TS playground

This is a generic type F<N> where N is a unary number represented by a tuple string (thanks emanresu) type of 1s.

This is not tail recursive, so it only works for N < 50. Here's a tail recursive version which works for N < 1000:

TypeScript's type system, 106 bytes

// @ts-ignore
type F<N,O="LUL",W="">=N extends[1,...infer K]?F<K,`One more ${W}${O}${W} and I'm out`,'"'>:O

Try it at the TS playground

Go, 104 82 105 bytes

func f(n int)string{if n<0{return"LUL"}
q:=``
if n!=0{q=`"`}
return`One more `+q+f(n-1)+q+` and I'm out`}

Attempt This Online!

Thunno 2, 34 bytes

ʋLULs{‘"One Ḍḋ % and I'm out"‘Œ}ḣṫ

Attempt This Online!

Explanation

ʋLULs{‘...‘Œ}ḣṫ  # Implicit input
ʋLUL             # Push the string "LUL"
    s            # Swap so the input is back on top
     {      }    # Repeat input number of times:
      ‘...‘      # Push compressed template string
                 # `"One more % and I'm out"`
           Œ     # Replace the "%" with the
                 # next item on the stack
             ḣṫ  # Remove the first and last characters
                 # Implicit output

Vyxal, 34 33 bytes

`"λŀ λƈ `*‛⇧Ṫ⇧+` λ¬ I'm λ₅"`?*+ḢṪ

Try it Online!

-1 thx to @steffan

Japt, 33 bytes

`O Ú {?Q²¬qßUÉ:`lª`u} d I'm t

Try it

Husk, 27 bytes

!¡σ"LUL"s₁₁
¨Ønø LULÄdİ'møo

Try it online!

Does infinite replacement of LUL and indexes into it.

1-indexed.

International Esoteric Phonetic Language, 80 bytes

<f>/qubʌɔ|a|"\""u1z<f>"\""uɔ|b||a|ʍu|b|ɖbuʈ\"LUL"w" and I'm out""One more "ɪ<f>""o

Recursive implementation that decrements the input number when recursing.

Explanation:

<f>/qubʌɔ|a|"\""u1z<f>"\""uɔ|b||a|ʍu|b|ɖbuʈ\"LUL"w" and I'm out""One more "ɪ<f>""o
<f>/                                                                              (fun def)
    qu                                                                            (one more)
      bʌɔ|a|                                                                      (if index == 0, continue, else jump to else)
           "\""u                                                                  (quote)
                1z                                                                (decrement index)
                  <f>                                                             (recurse)
                     "\""u                                                        (quote)
                          ɔ|b|                                                    (skip to end)
                              |a|                                                 (else)
                                 ʍu                                               (LUL)
                                   |b|                                            (end)
                                      ɖbuʈ\                                       (and i'm out)
                                           "LUL"w                                 (wegister going wwww LUL)
                                                 " and I'm out""One more "        (strings)
                                                                          ɪ<f>    (input and call)
                                                                              ""o (print newline)

Microsoft Excel, 69

Cells:

FEU, 107 97 bytes

Ep/v
a/One more LUL and I'm out
EP/v
u/a
/a/g
Ep/v
s/LUL/"One more LUL and I'm out"
EP/v
end
Ep/v

Try it online!

Stax, 27 bytes

âΔ▓♥CPM9C"4█é¢┐╥äΔ↔╖◄b)►┤≤▐

Run and debug it

This is a recursive program that decrements the input on each call.

I discovered a bug in stax writing this program. I'll fix the bug sooner or later, but I won't incorporate it into this solution, as it seems unsporting to me.

PHP, 69 66 bytes

Note: uses IBM-850 encoding

for($o=LUL;~$argn--;$d=~¦)$o="One more $d$o$d and I'm out";echo$o;

Run like this:

echo 2 | php -nR 'for($o=LUL;~$argn--;$d=~¦)$o="One more $d$o$d and I'"'"'m out";echo$o;';echo
> One more "One more "One more LUL and I'm out" and I'm out" and I'm out

Explanation

for(
  $o=LUL;                           # Start with output string "LUL".
  ~$argn--;                         # Loop until N is -1.
  $d=~¦                             # Set delimiter to `"` after first
                                    #   iteration.
)
  $o="One more $d$o$d and I'm out"; # Add text with previous output
                                    #   embedded, between delims.

echo$o;                             # Output resulting string.

Perl 5, 55 + 1 (-p) = 56 bytes

$_='"One more 'x++$_.LUL.' and I\'m out"'x$_;s/^.|.$//g

Try it online!

SOGL V0.12, 27 bytes

LUL”.I{" ž-┌πēj░ō|≥π┘⁴‘⁾}jk

Try it Here!

GolfScript, 44 bytes

~"LUL"\{'"One more 
 and I\'m out"'n/*}*(;);

Try it online!

1-indexed.

Explanation:

~"LUL"\{'"One more \n and I\'m out"'n/*}*(;); ("\n" is a newline)
~                                             Eval (input is the only stack element on program start)
 "LUL"                                        Push "LUL"
      \                                       Swap
       {'"One more \n and I\'m out"'n/*}      Push block:
        '"One more \n and I\'m out"'            Push "\"One more \n and I'm out\""
                                    n           Push n (default: newline)
                                     /          Split
                                      *         Join
                                        *     Repeat block
                                         (    Pop first element and push to stack
                                          ;   Pop
                                           )  Pop last element and push to stack
                                            ; Pop

Haskell - 73 bytes

n!s=[1..n]>>s
f n=init(n!"One more \"")++" LUL"++tail(n!"\" and I'm out")

I wonder if there something I could use besides init and tail to save a few bytes.

Try it here!

k, 58 bytes

Indexing starts at 0. This is a recursive function.

`0:`c${"One more ",$[x;34,o[x-1],34;"LUL"]," and I'm out"}

Try it online.

Python, 78 bytes

f=lambda n:'One more "'*(n-1)+"One more LUL and I'm out"+'" and I\'m out'*(n-1)

Common Lisp, 90 89 108 105 103 bytes

(set's"One more LUL and I'm out")(dotimes(n(read)(princ s))(set's(format()"One more ~a and I'm out"s)))

Other solution (91 bytes)

Using Winny's solution in Racket (my is not exact copy)

(defun l(n)(if(< n 0)'LUL(format()"One more ~:[~a~;\"~a\"~] and I'm out"(> n 0)(l(1- n)))))

usage:

(format t"~a"(l 2))

Ideas for improvement are welcomed.

Racket, 88 87 bytes

(define(f n)(format"One more ~a and I'm out"(if(= n 0)'LUL(format"\"~a\""(f(- n 1))))))

Ungolfed

(define (f n)
  (format "One more ~a and I'm out"
          (if (= n 0)
              'LUL
              (format "\"~a\"" (f (- n 1))))))

Unit tests

(module+ test
  (require rackunit)
  (check-equal? (f 0) "One more LUL and I'm out")
  (check-equal? (f 1) "One more \"One more LUL and I'm out\" and I'm out")
  (check-equal? (f 2) "One more \"One more \"One more LUL and I'm out\" and I'm out\" and I'm out")
  (check-equal? (f 7) "One more \"One more \"One more \"One more \"One more \"One more \"One more \"One more LUL and I'm out\" and I'm out\" and I'm out\" and I'm out\" and I'm out\" and I'm out\" and I'm out\" and I'm out"))

dc, 82 bytes

?dsasw[[LUL ]P]se[34dP]sr[lalw>r[One more ]nlad1-dsar1=e0<y[and I'm out]nP32P]dsyx

Might as well add an answer in dc. This is 1-indexed.

"Calculate" it on the Internet!

Jelly, 39 bytes

First Jelly submission! Can probably slice off a few by encoding the strings, but I couldn't get it working with the spaces yet.

“"One more ”;;“ and I'm out"”
“LUL”Ç¡ḊṖ

A 0-indexed version needs an additional Ç after the Ç¡.

Try it online!

Explanation will follow soon!

Cheddar, 71 bytes

i->('One more "'*i).slice(0,-1)+'LUL '+('and I\'m out" '*i).slice(0,-2)

Try it online!

QBIC, 72 bytes

:[a|X=X+@One more `+chr$(34)┘Z=Z+chr$(34)+@ and I'm out`]Z=X+A+@LUL`+B+Z

The chr$(34) for the quotes is particularly costly, I need to fix a bug in the interpreter to make them work inside a string literal...

Sample output:

Command line: 0
One more LUL and I'm out

Command line: 3
One more "One more "One more "One more LUL and I'm out" and I'm out" and I'm out" and I'm out

Objective-C, 218

#define p NSString stringWithFormat
-(NSString *)f:(int)a{NSString *o=@"One more ",*k=@" and I'm out",*i=[p:@"%@LUL%@",o,k],*s=@"";for(int j=-a;a-->j+1;s=[p:@"%@\"%@",s,a>0?o:a<0?k:i]);return [s substringFromIndex:1];}

Not the most beautiful language to golf in, but I had fun

C++14, 90 bytes

As unnamed lambda modifying its input. Requires s to be std::string or alike.

[](auto&s,int i){s="LUL",++i;for(char c=0;i--;s="One more "+(c+s+c)+" and I'm out",c=34);}

Ungolfed and usage:

#include<string>
#include<iostream>

auto f=
[](auto&s,int i){
 s="LUL",++i;        //set basic LUL
 for(
  char c=0;          //first string concat without quotes
  i--;               
  s="One more "+(c+s+c)+" and I'm out", //string concat
  c=34                                  //set c to "
 );
}
;

int main(){
 std::string s;
 f(s,0);
 std::cout << s << std::endl;
 f(s,1);
 std::cout << s << std::endl;
 f(s,2);
 std::cout << s << std::endl;
 f(s,3);
 std::cout << s << std::endl;
}

C++, 183 bytes

Simply input N times you want 'One more LUL' nested.

#include <iostream>
#include <string>
#define s string
using namespace std;main(){int N;cin>>N;s a="LUL";s b="One more \"";s c="\"and I'm out";for(int i=0;i<N;i++){a=b+a+c;}cout<<a;}

Try Me Online!

C++, 80 + 16 = 96 bytes

std::string L(int c){return"One more "+(c?'"'+L(--c)+'"':"LUL")+" and I'm out";}

#include<string> - +16

Ungolfed:

std::string LUL(int count) {
    return "One more " + (count? ('"' + LUL(--count) + '"') : "LUL") + " and I'm out";
}

Calls itself recursively and uses string addition. Pretty straight forward. I mean what else can I say? Even the ungolfed version is essentially a one liner.

Try it online!

PowerShell, 72 67 bytes

"$('"One more '*($c=1+"$args"))LUL$(' and I''m out"'*$c)".Trim('"')

Try it online!

C++, 118 + 16 = 134 bytes

auto L(int x){std::string k="One more LUL and I'm out",r=k;for(int i=0;i++<x;)r.replace(i*10-1,3,'"'+k+'"');return r;}

#include<string> - +16

replaces "LUL" to the whole string N times.

Anyone has better golfs?

Try it online!

Massive thanks to Kritixi Lithos and hvd, for, uh, Massive help.

C#, 119 85 71 bytes

string m(int n)=>$"One more {(n<1?"LUL":$"\"{m(--n)}\"")} and I'm out";

Saved 14 bytes thanks to @Luc

Scala, 63 bytes

(n:Int)=>("One more \""*n init)+"LUL"+("\" and I'm out"*n tail)

1-indexed

PHP

Hello, i found so far two ways for doing this.

The replacement way 1-indexed (121 bytes).

function f($x){$v='One more LUL and i\'m out';$t=$v;for($i=1;$i<=$x;$t=str_replace('LUL','"'.$t.'"',$v),$i++);return $t;}

The recursive way (86 bytes).

function r($n){$v=($n==0)?'LUL':'"'.r($n-1).'"';return'One more '.$v.' and i\'m out';}

Mathematica, 69 68 bytes

Thanks to Martin Ender for saving 1 hard-to-find byte!

""<>Nest[{q="\"",{"One more ",#," and I'm out"},q}&,"LUL",#+1][[2]]&

Unnamed function taking a nonnegative integer argument and returning a string. Nest applies a function repeatedly to an initial argument; in this case, the function is to surround its argument by the appropriate words and quotation marks. We start from "LUL" and iterate N+1 times; that results in unwanted quotation marks enclosing the entire phrase, but [[2]] keeps only the stuff between them. At the end, ""<> turns the resulting heavily nested list into a single string.

Previous submission:

""<>Nest[{o,q="\"",#,q,a}&,{o="One more ","LUL",a=" and I'm out"},#]&

Mathematica, 65 63 Bytes

Nest["\"One more "<>#<>" and I'm out\""&,"LUL",#]~StringTrim~_&

Two bytes off by noticing the challenge allows 1-indexing.

Java, 79 77 bytes

Golfed:

String f(int l){return"One more "+(l<1?"LUL":'"'+f(l-1)+'"')+" and I'm out";}

Ungolfed, with test:

public class OneMoreLulAndImOut {

  public static void main(String[] args) {
    OneMoreLulAndImOut obj = new OneMoreLulAndImOut();
    for (int i = 0; i < 8; ++i) {
      System.out.println(Integer.toString(i) + ": " + obj.f(i));
    }
  }

  String f(int l) {
    return "One more " + (l < 1 ? "LUL" : '"' + f(l - 1) + '"') + " and I'm out";
  }    
}

Program output:

0: One more LUL and I'm out
1: One more "One more LUL and I'm out" and I'm out
2: One more "One more "One more LUL and I'm out" and I'm out" and I'm out
3: One more "One more "One more "One more LUL and I'm out" and I'm out" and I'm out" and I'm out
4: One more "One more "One more "One more "One more LUL and I'm out" and I'm out" and I'm out" and I'm out" and I'm out
5: One more "One more "One more "One more "One more "One more LUL and I'm out" and I'm out" and I'm out" and I'm out" and I'm out" and I'm out
6: One more "One more "One more "One more "One more "One more "One more LUL and I'm out" and I'm out" and I'm out" and I'm out" and I'm out" and I'm out" and I'm out
7: One more "One more "One more "One more "One more "One more "One more "One more LUL and I'm out" and I'm out" and I'm out" and I'm out" and I'm out" and I'm out" and I'm out" and I'm out

Groovy, 54 bytes

{x->('"One more '*x+'LUL'+' and I\'m out\"'*x)[1..-2]}

Pretty straightforward, same as the python answer but 2 bytes shorter. It is also 1-indexed.

Try it Online!

C, 140 111 bytes

My first attempt at a golfing question.. Golfed:

#define F printf(
#define P 1&&putchar(34)
int a=0;void q(n){a=a?a:n,n?n>0?F"One more "),n-P:n?n+P,F" and I'm out"):0:F"LUL"),n+a?q(n-1):0;}

I have come to realise is the wrong output since q(0) just gives LUL. The next attempt:

#define o(Q) O(Q,n?34:0);
#define O printf
void q(int n){o("One more %c")n?q(n-1):O("LUL"),o("%c and I’m out")}

Example program (tested with GCC on OSX):

#define o(Q) O(Q,n?34:0);
#define O printf
void q(int n) {o("One more %c")n?q(n-1):O("LUL"),o("%c and I’m out")}

int main() {
    q(0),putchar('\n');
    q(1),putchar('\n');
    q(2),putchar('\n');
    q(3),putchar('\n');

    return 0;
}

Gives output

One more LUL and I’m out
One more "One more LUL and I’m out" and I’m out
One more "One more "One more LUL and I’m out" and I’m out" and I’m out
One more "One more "One more "One more LUL and I’m out" and I’m out" and I’m out" and I’m out

CJam, 51 49 bytes

" and I'm out\"""\"One more "li1+_@*"LUL"+1>@@*W<

Try it online

Ungolfed:

" and I'm out\""   "\"One more " // Push two strings to the stack
     l i 1 +                     // Read a number and add 1
     _ @                         // Copy number and rise '"One more ' to the top
     *                           // Multiply '"One more ' by a number
     "LUL" +                     // Add "LUL"
     1>                          // Chop the first quote
     @@                          // Push the result down
     *                           // Multiply ' and I\'m out"' by a number
     W<                          // Chop the last quote

Python 3, 68 Bytes

def f(a):return('"One more '*a+'LUL'+(' and I%sm out"'%"'")*a)[1:-1]

Clojure, 90 bytes

(fn c[n](if(= n -1)"LUL"(let[q(if(> n 0) \")](str"One more "q(c(dec n))q" and I'm out"))))

Written and golfed on my phone on a soft keyboard using the "Clojure REPL" app. That was sure a treat.

Explicitly recursive solution. Inserts the results of recursing into the "template string".

Pregolfed:

(defn lul [n]
  (if (= n -1)
    "LUL"
    (let [quote? (if (> n 0) \")]
      (str "One more "
            quote? (lul (dec n)) quote?
           " and I'm out" ))))

C#, 102 90 bytes

string l(string s,int n){return n<0?s.Substring(1,s.Length-2):l($"\"One more {s} and I'm out\"",--n);}

Recursive, call with l("LUL",7);

EDIT

Thank you for pointing out that it is illegal to pass input not specified in the challenge. Here is the fixed version that only takes an integer N:

string l(int N){return N<0?"":$"One more \"{l(--N)}\" and I'm out".Replace("\"\"","LUL");}

Stacked, 54 bytes

('"One more ' ' and I''m out"')*'LUL'join'^.|.$'εrepl

Try it here! Example usage of "function":

1
('"One more ' ' and I''m out"')*'LUL'join'^.|.$'εrepl
out

One for 56 bytes:

@n'One more LUL and I''m out':@o['LUL' '"'o'"'+ +repl]n*

Ruby, 51 bytes

One-indexed. Try it online

->n{['One more ']*n*?"+'LUL'+[" and I'm out"]*n*?"}

Batch, 95 bytes

@set s=LUL
@for /l %%i in (0,1,%1)do @call set s="One more %%s%% and I'm out"
@echo %s:~1,-1%

0-indexed, because that means it works even if you forget to pass a parameter. (The 1-indexed version would just print U in that case, which looks silly.)

PowerShell, 88 bytes

for($d=($s="One more LUL and I'm out");$i++-lt$args[0]){$d=$d.Replace("LUL","`"$s`"")}$d

Octave, 72 70 bytes

@(n)[{'"One more '}{o=!(1:n)+1} "LUL " {"and I'm out\" "}{o}](2:end-2)

1 based index

Try It Online!

Ruby, 70 bytes

def l x,t="LUL";x.times{t='"One more %s and I\'m out"'%t};t[1..~1];end

Simply loops for the amount it's given, surrounding the last string via a format string each time.

Index starts at one.

Japt, 39 bytes

Thank you @ETHproductions for helping.

`"O Ú `p°U +"LUL"+` d I'm t"`pU)s1J

Try it here!

C#, 125 bytes

n=>{string f="One more {0} and I'm out",s=f;for(int i=0;i++<n;)s=string.Format(s,$"\"{f}\"");return string.Format(s,"LUL");};

Python, 79 bytes

I just wanted to do a recursive solution, even though it's longer than other answers.

x='"One more %s and I\'m out"'
f=lambda n,s=x:n and f(n-1,s%x)or(s%"LUL")[1:-1]

Try it online

GameMaker Language, 106 bytes

1-indexed

s='LUL'for(a=0,a<argument0;a++)s='"One more '+s+" and I'm out\""return string_copy(s,2,string_length(s)-2)

V, 39 37 bytes

Two bytes with the help of @KritixiLithos for coming up with the substitution method

iOne more LUL and I'm outÀñÓLUL/"."

Try it online!

Hexdump:

00000000: 694f 6e65 206d 6f72 6520 4c55 4c20 616e  iOne more LUL an
00000010: 6420 4927 6d20 6f75 741b c0f1 d34c 554c  d I'm out....LUL
00000020: 2f22 122e 22                             /".."

JavaScript, 57 56 54 52 bytes

f=q=>`One more ${q?`"${f(q-1)}"`:"LUL"} and I'm out`

Test Snippet:

f=q=>`One more ${q?`"${f(q-1)}"`:"LUL"} and I'm out`
<input type=number min=0 oninput=o.textContent=f(+this.value)>

<p id=o>

For some reason the snack snippet is being buggy when the input is 0, but this works otherwise. Call it like f(4).

Explanation

f=q=>                      //declares a function f with argument q
`One more ... and I'm out` //hardcoded string
 ${q?`"${f(q-1)}"`:"LUL"}  // does recursion based on q
                           // if q is true, ie not 0, recurse
                           // else return "LUL"

Clojure, 84 bytes

#(nth(iterate(fn[s](str"One more \""s"\" and I'm out"))"One more LUL and I'm out")%)

Argh why isn't the first LUL in quotes? :( Almost correct in 63 bytes:

#(nth(iterate(fn[s](str"One more \""s"\" and I'm out"))"LUL")%)

Python 2, 56 bytes

lambda x:('"One more '*x+'LUL'+' and I\'m out"'*x)[1:-1]

Try it online!
It is 1-indexed

R, 100 97 92 bytes

"One more recursive function and I'm out"

f=function(n)paste("One more",`if`(n<1,"LUL",paste0('"',f(n-1),'"')),"and I'm out");cat(f(scan()))

Edit: Turns out that a non-recursive approach is slightly shorter:

x="One more ";y=" and I'm out";cat(x,rep(c('"',x),n<-scan()),"LUL",rep(c(y,'"'),n),y,sep="")

Befunge, 91 bytes

&:00p10p>"tuo m'I dna "1v
09p00-1<^g09p01-1_v#:g0<<vg
>>00g:#^_$>:#,_@  >$"LUL">" erom enO"

Try it online!

This is a breakdown of the source code with the various component parts highlighted.

Source code with execution paths highlighted

* We start by reading the repeat count N, and storing two duplicates of it in memory.
* We then countdown the first N, pushing multiple copies of " and I'm out" onto the stack in reverse. Each additional copy is separated from the one before with a quote. The quote is generated with the sequence 90g (basically reading a copy from the first line of the source), since that's the shortest way to do so.
* Once this first loop is complete, we push "LUL" onto the stack (technically this is in reverse, but it obviously makes no difference when it's a palindrome).
* Then we have another loop, wrapping across the right border, over to the left of playfield, and then back again. This time we're counting down the second N, pushing multiple copies of "One more " onto the stack (again in reverse). And again, each additional copy is separated from the one before with a quote.
* Once the second loop is complete, the entire phrase is now on the stack (in reverse), so we simply need to write it out.

R, 97 bytes

function(n){s="One more LUL and I'm out";while(n){s=sub("LUL",paste0('"',s,'"'),s);n=n-1};cat(s)}

Ungolfed:

function(n) {
  s = "One more LUL and I'm out";
  while(n) {
    s = sub("LUL", paste0('"', s, '"'), s);
    n = n - 1
  };
  cat(s)
}

Perl 6, 57 bytes

{substr "\"One more "x$_~"LUL"~" and I'm out\""x$_,1,*-1}

Slightly more interesting, but 58 bytes:

{join "LUL",("One more "," and I'm out"Xxx$_)».join('"')}

Haskell, 51 bytes

Indexes from 1.

f 0="LUL";f n="One more \""++f(n-1)++"\" and I'm out"

05AB1E, 30 29 bytes

…LULIF“"One€£ ÿ€ƒ I'm€Ä"“}}¦¨

Try it online!

Different string-types doesn't seem to mix well, so for some reason I need to end the loop twice.

Lua, 101 bytes

i,f,g='"One more ',' and I\'m out"',io.read()+1 print((i:rep(g).."LUL"..f:rep(g)):sub(2,g*24-(g-2)))

Obvious string attempt. Repeats "One more and and I'm out" exactly input + 1 times, with a LUL inbetween, then removes first and last quote.

Retina, 51 bytes

.+
$*00LUL1$&$*
0
"One more 
1
 and I'm out"
^"|"$

Try it online!

Javascript (ES6), 68 Bytes

f=(x,y="LUL")=>~x?f(--x,`"One more ${y} and I'm out"`):y.slice(1,-1)

Call like f(n).

You can also call it like f(n, "LUL") and replace LUL with any word you wish.