Cetak karakter terakhir, tengah dan pertama dari kode Anda


60

Tantangannya sederhana: Cetak karakter terakhir, tengah, dan pertama dari kode sumber program Anda, dalam urutan itu.

Karakter tengah didefinisikan sebagai berikut, dengan asumsi panjang sumber nkarakter, dan 1-indeks:

  • Jika ngenap, cetak karakter n/2-th dan n/2 + 1-th. ( abcdef == cd)
  • Jika nganjil, cetak (n-1)/2 + 1karakter ke-5. ( abcde == c)

Aturan

  • Diberikan tanpa input, cetak karakter terakhir, tengah, dan pertama dalam kode sumber Anda, dalam formulir [last][middle][first]. Ini akan menjadi 3-4 karakter.
  • Output tidak boleh mengandung spasi spasi tambahan. Namun, jika spasi putih adalah karakter pertama, tengah, atau terakhir, itu harus dicetak seperti itu.
  • Kode sumber harus n >= 3panjang karakter.
  • Kode harus terdiri dari >= 3karakter unik.
  • Celah standar dilarang.
  • Ini adalah , sehingga solusi terpendek dalam karakter menang.

Sampel

# Form: [code] --> [output]
xyz --> zyx
abcd --> dbca
1 --> # not allowed: too short
abcde --> eca
aaabb --> # not allowed: not enough unique characters
System.out.print("S;pr"); --> ;prS
this is a test --> ts t
123[newline]45 --> 53[newline]1

Proposal Tantangan


6
Mungkin hanya saya, tetapi "Kode harus terdiri dari> = 3 karakter unik." menyarankan semua karakter program harus unik, sementara Anda hanya perlu memiliki minimal 3 karakter berbeda.
Grzegorz Oledzki

4
@Belhenix Lebih sedikit dari tiga karakter unik memungkinkan solusi sesederhana 121untuk banyak bahasa.
Khuldraeseth na'Barya

2
Jika ada yang bisa menemukan bahasa berbasis tumpukan yang digunakan -untuk negasi dan secara implisit mencetak dengan linefeed, \n1-adalah three-byter. Pencarian saya sejauh ini tidak membuahkan hasil.
Khuldraeseth na'Barya

3
@Belhenix Whitespace tentu saja memungkinkan, ia memiliki cukup karakter unik yang valid (spasi, linefeed, tab).
bigyihsuan

2
Tidak dapat mengubahnya sekarang dengan 58 jawaban, tetapi membutuhkan "huruf kode pertama harus berbeda dari huruf kode terakhir" akan mengesampingkan banyak jawaban sepele, termasuk jawaban teratas saat ini. Itu mungkin maksud dari "> = 3 karakter unik", tetapi persyaratan itu sebenarnya tidak terlalu sulit.
manassehkatz

Jawaban:


171

JavaScript, 9 7 byte

N=>a=-N

Output: NaN

Cobalah online!


4
Sangat pintar. Ini adalah kebijaksanaan yang saya coba ambil, tetapi tidak bisa menemukan bahasa dengan hasil kesalahan yang cukup singkat.
ouflak

49
Ini adalah salah satu jawaban Javascript terbaik yang pernah saya lihat di sini
Daniel

21

Rumput , 17 byte

wWWwwwVVwWWwWWWww

Cobalah online!

-2 byte berkat jimmy23013.

Keluaran www. Rumput mengabaikan semua karakter selain w, Wdan v. Karena itu keduanya Vdiabaikan; mereka ada di sana untuk memastikan karakter tengah adalah w- Saya tidak tahu bagaimana output vatau Wdi Rumput ... Saya bisa menggunakan karakter lain sebagai gantinya V, tetapi Vmempertahankan estetika kode.


1
" Untungnya, karakter tengah akhirnya menjadi aw dan bukan av atau W - Saya tidak tahu bagaimana menghasilkan v atau W di Grass ... " Lol. xD Saya mencoba melakukan sesuatu yang serupa di Whitespace yang juga hanya memiliki tiga karakter (spasi, tab, baris baru), tapi sayangnya saya tidak begitu beruntung .. Untungnya saya bisa menambahkan banyak trailing no-ops untuk memperbaikinya.
Kevin Cruijssen

@KevinCruijssen Jika karakter tengah adalah sesuatu yang lain, saya mungkin akan menambahkan di tengah sekelompok xs (atau karakter non-Grass lainnya, yang diabaikan oleh Grass) untuk memindahkan a wke tempat yang benar.
Robin Ryder

Ah, saya idiot .. Saya bisa memasukkan karakter non-spasi juga yang Whitespace akan abaikan. ;) -2 byte terima kasih.
Kevin Cruijssen

1
17 byte :wWWwww  wWWwWWWww
jimmy23013

@ jimmy23013 Terima kasih! Dan terima kasih telah mengirim tip Anda ; Saya membutuhkannya untuk memahami apa yang Anda lakukan! Saya mengubah spasi menjadi Vs karena saya merasa lebih cantik. ;-)
Robin Ryder

17

brainfuck , 17 byte

U-[>+<-UU--]>...U

Cobalah online!

Dengan unsintables ini dapat dikurangi menjadi 7 byte: ␀..␀_.␀


1
Dalam aturan, tetapi BF tidak digunakan Usebagai instruksi. Secara fungsional, kodenya -[>+<---]>., jadi output yang diharapkan .--, yang tidak dikeluarkan.
bigyihsuan

16
@bigyihsuan tetapi kode sumbernya masih mengandung huruf Us dan penerjemah ini dengan senang hati mengabaikannya. Haruskah setiap jawaban yang memiliki komentar atau banyak spasi (atau apa pun yang tidak penting bagi bahasa) tidak dihitung?
dzaima

1
Bukankah seharusnya begitu U-[>+<-UU--]>...U? Dalam bentuknya saat ini, kode itu hanya menampilkan satu U
Helena

1
@Flater Ya, di sini mereka digunakan untuk membuat tantangan lebih mudah, tetapi bukankah itu tujuan dari tag kode golf ? Banyak jawaban di sini saja membuat pekerjaan mereka lebih mudah dengan menambahkan spasi putih terkemuka / tertinggal, dan secara umum dalam kode-golf di sini segala sesuatu mengikuti aturan diperbolehkan (dan jika saya harus menebak, jika ada aturan yang melarang karakter yang tidak digunakan (mendefinisikan mana yang secara objektif akan sudah sangat tidak mungkin) akan berarti bahwa tantangannya mungkin masih melayang pada skor 0, dan mungkin ditutup juga).
dzaima

2
Mengapa tidak Anda gunakan saja ÿ-.ÿ..ÿ? Itu bisa dicetak dan pendek.
Dorian

17

Bahasa Pemrograman Shakespeare , 119 byte

 ,.Ajax,.Page,.Act I:.Scene I:.[Enter Ajax and Page]
Ajax:  You big big big big big cat.Speak thy.Speak thy.Speak thy. 

Cobalah online!

Mencetak tiga spasi. Tanpa ruang cetak:

Bahasa Pemrograman Shakespeare , 227 byte

,.Ajax,.Page,.Act I:.Scene I:.[Enter Ajax and Page]Ajax:You is the sum of a big big big big big big cat a big pig.
You is the sum of you a large huge large big pig.
Speak thy.Speak thy.You is the sum of you a big pig.Speak thy.

Cobalah online!

Seperti jawaban INTERCAL bebas baris baru saya, ini dibuat untuk membuat karakter terakhir dari program sama dengan karakter tengah (walaupun dalam hal ini bukan juga yang pertama), dengan membatalkan golf bagian kedua dari kode sampai mereka pertandingan. (Saya tidak yakin apakah saya bisa membuat 46 dalam byte lebih sedikit atau tidak, atau jika saya bisa bermain golf bagian lain dari babak pertama.)


2
Saya tidak berharap Shakespeare muncul untuk ini. Ini bagus
bigyihsuan

1
Seandainya saya bisa memberi +1 hanya untuk mengetahui bahasa ini ada!
Stilez

1
bahkan dalam pesan output debug penerjemah online, selera humor penulis menunjukkan: Peringatan di baris 2: 'pikiran' diharapkan
dlatikay

1
163 byte untuk versi kedua dengan diakhiri dengan!
Robin Ryder

1
@UnrelatedString OK, terima kasih! Selesai .
Robin Ryder

14

Python 2 , 13 11 byte


print' t' 

Untuk membuat spasi kosong:

$ xxd solution.py
0000000: 0a70 7269 6e74 2720 7427 20           .print' t'
$ python2 solution.py | xxd
0000000: 2074 0a                                t.

Cobalah online!

-2 byte, terima kasih untuk wastl!


6
Keduanya mengeluarkan spasi spasi putih (baris baru), yang tidak diizinkan. Alternatif Python 2: Cobalah online!
wastl

Juga, saya tidak berpikir ini valid: Python mengharuskan Anda untuk memiliki baris baru kosong di akhir kode Anda.
Geza Kerecsenyi

5
@ GezaKerecsenyi Seperti yang saya pahami, baris baru di akhir kode sumber hanyalah sebuah rekomendasi. Lihat PEP8.
mypetlion

1
@GezaKerecsenyi Just a guideline
mbomb007

@wastl Terima kasih! Tetap.
TFeld

11

RProgN 2 , 3 byte

1
0

Cobalah online!

Saya pikir ini valid?


Saya menebak 1dan 0didorong ke tumpukan, lalu cetak-pop implisit di akhir program? Ya itu valid
bigyihsuan

2
@bigyihsuan itulah yang saya duga juga; Saya tidak tahu bahasa, saya hanya ingat itu tidak hal-hal seperti ini: p
dzaima

@zaza Haha, ketika Anda mengirim jawaban dan Anda bahkan tidak tahu cara kerjanya. xD Saya memang pernah melihat RProgN beberapa kali sebelumnya dengan [quine]tantangan lama , sebelum aturan quine diubah.
Kevin Cruijssen

Saya percaya ini adalah polyglot di tacLinux.
tsh

11

05AB1E , 7 5 byte


„ RR

Keluaran R \n.

-2 byte dengan mengambil inspirasi dari @ Neil 's Batch jawaban , jadi pastikan untuk upvote dirinya juga!

Cobalah online.

Alternatif 5 byte oleh @Grimy :


12,1

Keluaran 12\n.

Cobalah online.

Jawaban awal 7 byte :

'?„«'«?

Keluaran ?«'.

Cobalah online.

Penjelasan:

          # No-op newline
 R       # Push 2-char string " R"
   R      # Reverse this string to "R "
          # (output the result implicitly with trailing newline)

          # No-op newline
12,       # Print 12 with trailing newline
   1      # Push a 1 (no implicit printing, since we already did an explicit print)

'?       '# Push 1-char string "?"
  „«'    '# Push 2-char string "«'"
     «    # Concatenate them both together
      ?   # Output without trailing newline


8

PHP , 9 byte

<?=";;<";

Cobalah online!


3
Sebenarnya, sejak PHP mengeluarkan kode sebagai teks hingga <?tag pertama , Anda dapat menggunakan salah satu dari solusi 4-byte sepele seperti 1231- apa pun tanpa karakter khusus sebagai yang pertama dan terakhir, 2 karakter lainnya di tengah. Jawaban Anda mungkin kode PHP jawaban tersingkat .
manassehkatz


7

Excel, 9 byte

=("))=" )

Begitu banyak kurung.

Catatan: Karakter tengah yang dikembalikan sebenarnya dapat berupa karakter apa pun karena merupakan kode tengah.


Kurung! (Lightbulb) Saya terjebak dengan karakter terakhir yang diperlukan ". Sudah selesai dilakukan dengan baik!
Wernisch

Terima kasih! Itu adalah sesuatu yang saya coba cari tahu juga, dan kemudian saya ingat bahwa kurung akan bekerja.
william porter

6

Ruby , 6 byte


p " "

Cobalah online!

Output ini " "ditambah baris baru. Kode berakhir dengan a ", dua karakter tengah adalah dan ", dan dimulai dengan baris baru.


3
Saya suka lencana Anda, saya percaya itu adalah skala abu-abu untuk N². Saya menghasilkan gambar yang hampir sama untuk membantu saya untuk masalah Project Euler Nim. Apakah lencana Anda punya cerita?
Damien

1
Tangkapan bagus! Saya hanya suka "mencoret-coret" selama rapat dengan menghasilkan gambar menggunakan one-liners; xor adalah favorit awal.
histokrat

6

DOS / Windows Batch Language, 9 byte

@echo @o@

Selamat datang di Code Golf & Coding Tantangan Stack Exchange, +1 untuk pos pertama yang bagus!
A _


5

Batch, 9 karakter


@echo hh

Karakter tengah dan terakhir keduanya h, dan kemudian echomencetak baris baru secara default, yang merupakan karakter pertama dari skrip.


5

PowerShell, 3 byte

00000000: 0a0d 31                                  ..1

Hanya berfungsi di Microsoft Windows.

Outputnya sayangnya 8 byte dalam UTF-16. Tetapi pertanyaannya mengatakan output karakter, dan bukan byte. Bisa dibilang UTF-16 hanyalah salah satu cara yang didukung untuk mewakili karakter di PowerShell. Mereka tidak ditafsirkan berbeda dari file ASCII.


itu jawaban cerdas
mazzy

1
diizinkan karena 0x0a != 0x0d != 0x31:)
bigyihsuan

5

Bash ( 15 11 karakter)

echo -n e-e

yang dicetak

e-e
  • -4 karakter dengan tidak menggunakan |rev

1
@racraman Suntingan yang Anda sarankan echo<space>e<space><space>eakan ditampilkan, e<space>e<newline>bukan e<space>e, jadi saya sudah menolaknya. Baris baru adalah bagian dari output, itulah sebabnya GrzegorzOledzki menggunakan -nopsi. Coba echo -n e-eonline vs Coba echo e eonline . Dan lagi, tolong jangan edit jawaban orang lain. Jika Anda memiliki golf untuk disarankan, tinggalkan komentar.
Kevin Cruijssen

juga 11 byte dengan printf pfp, tetapi hanya karena kita membutuhkan dua spasi karena definisi karakter tengah, jika tidak akan menjadi 10 ...
pLumo

5

ArnoldC , 61 byte

IT'S SHOWTIME
TALK TO THE HAND "D I"
YOU HAVE BEEN TERMINATED

Cobalah online!

Jawaban sepele di ArnoldC. Byte ke-31 adalah spasi tepat sebelum string literal.


5

Underload , 9 byte, 7 byte

Terima kasih kepada Khuldraeseth na'Barya untuk solusi yang lebih baik!

W(SSW)S

Adapun seperti yang saya tahu, ini sekarang tidak dapat diperbaiki karena:

  • Karakter pertama harus berupa karakter no-op, karena setiap instruksi lain menimbulkan kesalahan karena tumpukan kosong, dengan pengecualian sebagai braket pembuka. Namun, tidak mungkin karena tidak ada cara untuk mengeluarkan braket pembuka di Underload sendiri.
  • Anda harus menggunakan setidaknya 5 karakter untuk menambahkan 3 karakter output ke stack.
  • Anda perlu menggunakan S untuk menampilkannya.

Cobalah online!


Selamat datang di Code Golf SE! Anda dapat menyimpan beberapa byte dengan melewatkan salinannya, seperti itu .
Khuldraeseth na'Barya

5

Bahasa Pemrograman Shakespeare , 163 153 byte

-10 byte terima kasih kepada Jo King.

B,.Ajax,.Page,.Act I:.Scene I:.[Enter Ajax and Page]Ajax:You is
the sum ofa Big Big Big BIG BIG cat a
CAT.Speak thy.You is twice you.Speak thy!SPEAK THY!

Cobalah online!

Jawaban SPL pertama saya! Keluaran !BB.

Ada jawaban SPL lain oleh String Tidak Terkait; dalam jawaban itu, mereka hanya menghasilkan spasi dalam 119 byte, atau menampilkan karakter non-spasi dalam 227 byte. Yang ini ada di antaranya, dan juga menghasilkan karakter non-spasi.

Dua trik digunakan di sini:

  1. !.!25+1.
  2. Menggandakan 33 memberi 66, codepoint B, maka judul permainan adalah Bdan saya butuh "besar" kedua menjadi "Besar", yang bekerja karena SPL tidak peka huruf besar-kecil.

Karena saya membutuhkan modal Bdan tanda seru di akhir, saya memutuskan untuk membuat Ajax berteriak lebih keras dan lebih keras melalui adegan.


4

CJam , 7 byte

'@'' _@

Cobalah online!


4
Cukup yakin 0 1 0lebih pendek dan juga memiliki tiga karakter berbeda (Saya tidak ingin memposting ulang pendekatan Jelly saya: P).
Erik the Outgolfer

1
@EriktheOutgolfer Baiklah !. Tapi itu seperti jawaban Anda, jadi saya akan membiarkan ini
Luis Mendo

2
Ya, itu sebabnya saya berkomentar, tidak benar-benar ingin memposting hal yang sama dua kali. (Hm ... ini mungkin solusi optimal untuk banyak bahasa.) Lagi pula, bahasa Anda mungkin berlaku di tempat lain juga!
Erik the Outgolfer

4

Befunge-93 , 7 byte

.",  @0

Cobalah online!

Penjelasan

Output adalah 0 .

.       pop value (0) from stack, output as number with a trailing space
 "      toggle string mode, wraps around and pushes every char to the stack
  ,     pop value (".") from stack, output as character 
        spaces are no-ops
     @  end the program
      0 trailing 0 to match the output

4

APL (Dyalog Unicode) , 5 4 byte

Program lengkap.

Solusi membosankan dari J.Sallé:

1231

Mencetak nomor itu. Solusi yang jauh lebih menarik:

010E1

Cobalah online!

APL mengabaikan angka nol di depan, jadi ini hanyalah format yang diskalakan untuk 10 × 10¹ = 100.


4

Chef , 447 byte

Last Middle First Milkshake.

This recipe prints its last, middle and first character.
You could also use it to make a milkshake. 

Ingredients.
76 ml milk
32 ml chocolate syrup
46 teaspoons vanilla ice cream

Method.
Liquefy vanilla ice cream.
Put the milk into 1st mixing bowl.
Put the chocolate syrup into 1st mixing bowl.
Put the vanilla ice cream into 1st mixing bowl.
Pour contents of the 1st mixing bowl into the 1st baking dish.

Serves 1.

Cobalah online!

Pengajuan serius, 196 177 byte

terima kasih untuk A__

R.

Ingredients.
82 l a
103 l b
46 l c

Method.
Put a into mixing bowl.
Put b into mixing bowl.
Put c into mixing bowl.
Pour contents of mixing bowl into baking dish.

Serves 1.

Cobalah online!


Melihat program-program Chef membuat saya bertanya-tanya berapa minimum untuk itu.
bigyihsuan

@bigyihsuan lihat hasil edit saya
user24343

Anda dapat menghapus semua "itu" dan membuat program tetap berfungsi .
A _

Saya membuat program kerja. (177 byte)
A _

4

Python 3, 19 byte 13 byte


print( ')(')

Fungsi cetak menambahkan baris baru secara default sehingga kode dimulai dengan baris baru. Karakter terakhir dari kode adalah ")" sehingga dicetak terlebih dahulu. Untuk membuat jumlah karakter tidak rata, spasi dimasukkan sebelum argumen fungsi cetak. Mohon maaf atas kelonggaran kode ini.

Output: )(\n

Cobalah online.


1
Bergantung pada bagaimana aturannya bekerja, saya mungkin memiliki 13 byte yang dimainkan dengan jawaban Anda: `print (") (")` Perhatikan ada baris baru di atas printdan spasi di dalam printsetelahnya ")(". Output: )( dengan baris baru di akhir.
Hoog

Terima kasih, hingga 13 byte! Karena pertanyaan secara khusus merujuk pada spasi putih tetapi bukan baris baru, saya akan menganggap mengikuti baris baru, sebagai endparameter default dari fungsi cetak, tidak masuk hitungan.
jaaq

Ini mencetak baris tambahan, tetapi tidak memperhitungkannya.
A _

Tidak yakin apakah baris baru dihitung sebagai spasi putih tetapi saya menambahkan versi ke-2 dan 13-byte.
jaaq

1
Ya, baris baru dihitung sebagai spasi putih, seperti tab dan spasi antara lain
Jo King

4

Spasi , 31 29 byte

[S aS S T   S S S S S N
_Push_32][S N
S _Duplicate_32][S N
S _Duplicate_32][T  N
S S _Print_as_character][T  N
S S _Print_as_character][T  N
S S _Print_as_character]

-2 byte terima kasih kepada @RobinRyder .

Huruf S(spasi), T(tab), dan N(baris baru) ditambahkan hanya sebagai penyorotan.
[..._some_action]ditambahkan sebagai penjelasan saja.

Cobalah online (dengan spasi, tab, dan hanya baris baru).

Berisi no-op a(bisa berupa karakter non-spasi apa pun) untuk membuat panjangnya aneh. Ini ditambahkan sebelum separuh pertama dari program sehingga karakter tengah adalah spasi juga, karena karakter tengah akan menjadi baris baru jika berada di bagian kedua dari program. Semua karakter non-spasi putih diabaikan dalam program-program Ruang Putih.




3

Brain-Flak , 11 byte

(((())))

Cobalah online!

Penjelasan

Kita harus meletakkan 3 hal di tumpukan. Cara tercepat untuk melakukannya adalah dengan meletakkan 3 1s (atau nol) di tumpukan. Sekarang karena (kode 1) tidak melakukan apa pun di Brain-Flak kita dapat menambahkan ini ke program di tempat pertama dan terakhir. Sekarang ini terasa agak curang, jadi inilah dua jawaban lagi yang menurut saya kurang curang.

Mencetak kawat gigi, 31 byte

( (((((()()()()()){}){}){}))())

Cobalah online!

Jawaban ini mencetak kawat gigi sehingga karakter yang dicetak benar-benar relevan dengan kode, itu memang memiliki satu karakter padding untuk membuat panjangnya aneh sehingga kita hanya perlu mencetak 1 karakter tengah.

Hanya mengandung kawat gigi, 32 byte

(((()((((()(()()){}){}){}){}))))

Cobalah online!

Ini adalah program kawat gigi hanya sumber dan (akibatnya) output terdiri sepenuhnya dari kawat gigi (karakter Brain-Flak benar-benar peduli).


3

AsciiDots - 9 byte

.---$'.$.

Keluaran: .$.

Kode dimulai dengan ., diakhiri dengan ., dan karakter tengah adalah a $. Kutipan tunggal di tengah menetapkan mode cetak titik untuk sekadar membaca karakter langsung ke aliran output.

Mungkin saja ini bisa dibuat lebih kecil, tapi saya mulai ragu itu bisa. Untuk mencetak tiga karakter, kutipan tunggal harus digunakan, karena kutipan ganda akan membutuhkan akhir dari string untuk menghasilkan. Namun, ini berarti bahwa kutipan tunggal harus a) diikuti oleh tiga karakter dan b) tidak dapat menjadi karakter pusat. Untuk mengurangi ini menjadi tujuh byte, saya mempertimbangkan untuk mencoba menggunakan kembali titik sebagai salah satu karakter yang dicetak (semacam program quine AsciiDot). Namun, saya menemukan bahwa urutan terpendek yang tersedia untuk dicetak adalah($'yang harus mencetak empat karakter dalam ruang tiga, atau tiga karakter dalam ruang empat. Saya juga mencoba beberapa metode alternatif hacky seperti mencoba mencetak nilai titik (yaitu 0) sebagai salah satu karakter. Walaupun mungkin ada beberapa sistem yang berfungsi, saya menemukan ini agak rumit dan besar. Jadi, saya pikir di atas adalah solusi terkecil. (Saya akan memperbarui jika saya menemukan sesuatu yang lebih kecil)


Selamat datang di Code Golf SE! Saya mengacaukan ini selama beberapa menit dan sampai pada kesimpulan yang sama dengan yang Anda lakukan. Posting pertama yang bagus!
Khuldraeseth na'Barya

1
Alternatif 9 byte - /'$'-.[newline]\.Cobalah online!
Alion

3

MATLAB, 13 15 byte

disp(  ') d')

Keluaran ) d

Versi sebelumnya (15 byte, keluaran yang kurang ketat):

'''';1;''''''''

Keluaran '''


Saya melihat sekarang, sekarang khawatir.
Wheat Wizard

Bukankah output ini tertinggal spasi?
Sanchises

@Sanchises nggak, size (ans) == 3
Oct18 adalah hari hening pada

Ya, tetapi output aktualnya adalah ans =\n '''\n. Biasanya itu bukan masalah tetapi tantangan ini tampaknya menetapkan standar yang lebih ketat. Tapi kemudian saya mungkin mengartikan tantangan itu salah.
Sanchises

@ Berasal hm, begitu. saya mungkin salah paham apa yang dianggap codegolf "output" kemudian, output Anda tampaknya benar-benar output, diformat oleh MATLAB
Oct18 adalah hari hening pada
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.