Bitcoin Forum
February 18, 2025, 01:03:33 PM *
News: Community Awards voting is open
 
   Home   Help Search Login Register More  
Pages: « 1 ... 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 [156] 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 ... 369 »
  Print  
Author Topic: Bitcoin puzzle transaction ~32 BTC prize to who solves it  (Read 255319 times)
bestie1549
Jr. Member
*
Offline Offline

Activity: 75
Merit: 5


View Profile
August 11, 2023, 07:02:45 PM
 #3101

zahid888 before you posted that my guess was the same :
my guess:
       #63       0=27   correct     1=36
       #64       0=34   correct     1=30
       #65       0=36   correct     1=29
       #66       0=34   guess       1=32
       #67       0=40   guess       1=27
       #68       0=33   guess       1=35
       #69       0=32   guess       1=37
       #70       0=36   correct     1=34

Maybe James should publish the GPU code for the 1s and 0s searching and also make it possible for us to be able to arrange the positioning of the second 1s where we don't need to start all over again when the program stops working due to power loss or something and also make it in such a way that it program can continue from where it stopped so it doesn't have to keep doing the same thing over and over again. the code has so much potentials but we are going to give it a try too

import math

n = 66
k = 32

combination = math.factorial(n) / (math.factorial(k) * math.factorial(n - k))

print(combination)


7007092303604022272  combination   2^62.6.....

7,007,092,303,604,022,272/50,000,000,000,000/86,400=1.62 days with just 50 Trillion keys/s
We go faster than that on keyhunt BSGS if you have sufficient amount of RAM and a good number of CPU in your machine you can even go as fast as 500 Trillion

This calculation is incorrect, all possible combinations are larger when the ratio of 1s and 0s is 50%, if 1 or 0 is smaller, the total decreases.

when will you publish the GPU version of the code for benchmarking and fully operational testing that way we can be sure which one is the time taken to get the key
james5000
Jr. Member
*
Offline Offline

Activity: 69
Merit: 2


View Profile
August 11, 2023, 07:46:46 PM
 #3102

We go faster than that on keyhunt BSGS if you have sufficient amount of RAM and a good number of CPU in your machine you can even go as fast as 500 Trillion


I am looking for an approach that is similar to the BSGS method, even though.
citb0in
Hero Member
*****
Offline Offline

Activity: 896
Merit: 782


Bitcoin g33k


View Profile
August 11, 2023, 07:52:00 PM
 #3103

I find it really interesting from the point of view of psychology how some people try to create a pattern that is not there. Especially when its existence was explicitly denied from the ground up by the creator. Seems to be a social phenomenon. Would not like to stop you from the project, of course, go ahead, use your calories energetically.

  _      _   _       __  _          _  _   __
 |_) |  / \|/   (_  / \ | \  / |_ |_) (_ 
 |_) |_ \_/ \_ |\   __) \_/ |_ \/  |_ | \ __)
--> citb0in Solo-Mining Group <--- low stake of only 0.001 BTC. We regularly rent about 5 PH/s hash power and direct it to SoloCK pool. Wanna know more? Read through the link and JOIN NOW
james5000
Jr. Member
*
Offline Offline

Activity: 69
Merit: 2


View Profile
August 11, 2023, 08:02:50 PM
 #3104

I find it really interesting from the point of view of psychology how some people try to create a pattern that is not there. Especially when its existence was explicitly denied from the ground up by the creator. Seems to be a social phenomenon. Would not like to stop you from the project, of course, go ahead, use your calories energetically.

Indeed, the patterns compared between the keys 30-60, 32-64, and so on, might not truly exist. However, the project is not about patterns; it explores the property of randomness. If you generate a random key with 66 bits, how many 1s and 0s will it have? Most of the time, the proportion will align with what has been observed here. As the creator mentioned it was random, we have further evidence that a truly random key will exhibit an acceptable proportion of 1s and 0s. This isn't about patterns; it's about mathematics and probabilities.
bestie1549
Jr. Member
*
Offline Offline

Activity: 75
Merit: 5


View Profile
August 11, 2023, 08:13:59 PM
 #3105

I find it really interesting from the point of view of psychology how some people try to create a pattern that is not there. Especially when its existence was explicitly denied from the ground up by the creator. Seems to be a social phenomenon. Would not like to stop you from the project, of course, go ahead, use your calories energetically.

Sometimes one can't see what one is not looking at and you can't find what you're not searching for but something you barely imagined can surface in your eyes beyond one's imaginations as to the fact that we didn't imagine what we are actually working with at the moment and a 66 bit key could be reduced to 60 bits if your guesses for the numbers of 1s are right, now imagine scanning randomly and scanning sequentially without missing a single key whereas randomness can almost iterate over the key without actually finding it because it moves randomly. only if there is a pool where your already scanned random key is stored for the scanned key not be scanned again will it be possible for one to actually find the key randomly, except otherwise stated, the search for the 66 bit random key will take 100 times more for the key to be gotten randomly.

If we have something that has potentials towards the search, it's better to give it a try but if you're hoping on luck or randomness to ascertain the 66 bit key. I have wasted over $23k renting the GPUs looking for the private key in question but all to no avail because I was trying to randomly search for the key in question and unfortunately I wasn't lucky because if I had tried to search sequentially I would barely have successfully search from 20-21 with that amount so I resorted to randomly scanning and nothing came out of the investment until I was down to the last $0. so if we have something with potentials I think its best to give it a try rather than trying to discourage ourselves. because right here, the sky is the limit
citb0in
Hero Member
*****
Offline Offline

Activity: 896
Merit: 782


Bitcoin g33k


View Profile
August 11, 2023, 08:14:57 PM
 #3106

I find it really interesting from the point of view of psychology how some people try to create a pattern that is not there. Especially when its existence was explicitly denied from the ground up by the creator. Seems to be a social phenomenon. Would not like to stop you from the project, of course, go ahead, use your calories energetically.

Indeed, the patterns compared between the keys 30-60, 32-64, and so on, might not truly exist. However, the project is not about patterns; it explores the property of randomness. If you generate a random key with 66 bits, how many 1s and 0s will it have? Most of the time, the proportion will align with what has been observed here. As the creator mentioned it was random, we have further evidence that a truly random key will exhibit an acceptable proportion of 1s and 0s. This isn't about patterns; it's about mathematics and probabilities.

From the moment you compare the puzzles with each other and try to derive and predict future events from existing values, you are talking about a pattern. On the subject of coincidence you can find enough worth reading on the Internet. What bothers you about the fact that Puzzle 66 consists of 44 zeros and 22 ones? Give a good reason why this could not occur.

  _      _   _       __  _          _  _   __
 |_) |  / \|/   (_  / \ | \  / |_ |_) (_ 
 |_) |_ \_/ \_ |\   __) \_/ |_ \/  |_ | \ __)
--> citb0in Solo-Mining Group <--- low stake of only 0.001 BTC. We regularly rent about 5 PH/s hash power and direct it to SoloCK pool. Wanna know more? Read through the link and JOIN NOW
rosengold
Jr. Member
*
Offline Offline

Activity: 149
Merit: 7


View Profile
August 11, 2023, 08:20:31 PM
 #3107

Puzzle #66 is not about pattern dudes

is all about logic and hardware power

If you have a bunch of 4090's out there and a optimized software to search it so you are in the game, If no you'll realize that is not simple as you think.

there's no pattern.
citb0in
Hero Member
*****
Offline Offline

Activity: 896
Merit: 782


Bitcoin g33k


View Profile
August 11, 2023, 08:22:02 PM
 #3108

absolutely, exactly my words

  _      _   _       __  _          _  _   __
 |_) |  / \|/   (_  / \ | \  / |_ |_) (_ 
 |_) |_ \_/ \_ |\   __) \_/ |_ \/  |_ | \ __)
--> citb0in Solo-Mining Group <--- low stake of only 0.001 BTC. We regularly rent about 5 PH/s hash power and direct it to SoloCK pool. Wanna know more? Read through the link and JOIN NOW
james5000
Jr. Member
*
Offline Offline

Activity: 69
Merit: 2


View Profile
August 11, 2023, 08:23:33 PM
 #3109

From the moment you compare the puzzles with each other and try to derive and predict future events from existing values, you are talking about a pattern. On the subject of coincidence you can find enough worth reading on the Internet. What bothers you about the fact that Puzzle 66 consists of 44 zeros and 22 ones? Give a good reason why this could not occur.

Check for yourself, generate a random key and tell us how many 1s and 0s it has. Do this at least 10 times and let us know.
citb0in
Hero Member
*****
Offline Offline

Activity: 896
Merit: 782


Bitcoin g33k


View Profile
August 11, 2023, 08:25:02 PM
 #3110

Check for yourself, generate a random key and tell us how many 1s and 0s it has. Do this at least 10 times and let us know.
you have not (yet) understood

  _      _   _       __  _          _  _   __
 |_) |  / \|/   (_  / \ | \  / |_ |_) (_ 
 |_) |_ \_/ \_ |\   __) \_/ |_ \/  |_ | \ __)
--> citb0in Solo-Mining Group <--- low stake of only 0.001 BTC. We regularly rent about 5 PH/s hash power and direct it to SoloCK pool. Wanna know more? Read through the link and JOIN NOW
james5000
Jr. Member
*
Offline Offline

Activity: 69
Merit: 2


View Profile
August 11, 2023, 08:26:00 PM
 #3111

Check for yourself, generate a random key and tell us how many 1s and 0s it has. Do this at least 10 times and let us know.
you have not (yet) understood
Please, explain to me.
citb0in
Hero Member
*****
Offline Offline

Activity: 896
Merit: 782


Bitcoin g33k


View Profile
August 11, 2023, 08:34:44 PM
Last edit: August 11, 2023, 09:09:22 PM by citb0in
 #3112

Check for yourself, generate a random key and tell us how many 1s and 0s it has. Do this at least 10 times and let us know.
you have not (yet) understood
Please, explain to me.

Code:
#!/bin/usr/env python3
#by citb0in, 2023/Aug/11
import random

def count_zeros_ones(binary_str):
    count_zeros = binary_str.count('0')
    count_ones = len(binary_str) - count_zeros
    return count_zeros, count_ones

def main():
    while True:
        n_input = input("Enter the number of random numbers to generate (or 'inf' for infinite): ")

        if n_input.lower() == 'inf':
            n = None
        else:
            n = int(n_input)

        bit_range = 2**66 - 1

        print(f"Generating {n if n is not None else 'infinite'} random numbers in a 66-bit range:")

        while n is None or n > 0:
            if n is not None:
                n -= 1

            num = random.randint(0, bit_range)
            binary_str = format(num, '066b')
            count_zeros, count_ones = count_zeros_ones(binary_str)

            print(f"Decimal: {num}")
            print(f"Hex: {hex(num)}")
            print(f"Binary: {binary_str}")
            print(f"Number of Zeros: {count_zeros}")
            print(f"Number of Ones: {count_ones}")
            print(f"Percentage of Zeros: {count_zeros / 66 * 100:.2f}%")
            print(f"Percentage of Ones: {count_ones / 66 * 100:.2f}%")
            print("=" * 30)

            zero_percentage = count_zeros / 66 * 100
            one_percentage = count_ones / 66 * 100

            if zero_percentage > 70 or one_percentage > 70:
                print("Binary percentage condition met. Exiting.")
                print(f"Found number: {num}")
                return

if __name__ == "__main__":
    main()

in this example I have entered 70% for imbalance of zero's and one's. Run the python program and enter 'inf' at the prompt and after a few seconds you will get a hit.

Quote
Decimal: 52671848116805094393
Hex: 0x2daf7fecb797ecbf9
Binary: 101101101011110111111111101100101101111001011111101100101111111001
Number of Zeros: 19
Number of Ones: 47
Percentage of Zeros: 28.79%
Percentage of Ones: 71.21%

EDIT: here's another example using a spread of > 80% imbalance in less than 5 seconds after program start
Quote
Generating infinite random numbers in a 66-bit range:
Binary percentage condition met. Exiting.
Found number: 27742332034348056594
Hex: 0x18100900004418012
Binary: 011000000100000000100100000000000000000100010000011000000000010010
Number of Zeros: 55
Number of Ones: 11
Percentage of Zeros: 83.33%
Percentage of Ones: 16.67%

and some additional ones even greater than > 85%
Quote
Decimal: 288239249823367425
Hex: 0x4000812100c0101
Binary: 000000010000000000000010000001001000010000000011000000000100000001
Number of Zeros: 57
Number of Ones: 9
Percentage of Zeros: 86.36%
Percentage of Ones: 13.64%
==============================
Decimal: 54056408995333132
Hex: 0xc00c048000040c
Binary: 000000000011000000000011000000010010000000000000000000010000001100
Number of Zeros: 57
Number of Ones: 9
Percentage of Zeros: 86.36%
Percentage of Ones: 13.64%
==============================

I also suggest to use "secrets" libary instead of "random" to generate true random numbers. The last two shown examples (>85% imbalance) shown here were using python's "secrets" library.
Is this enough to understand the meaning of randomness ?

  _      _   _       __  _          _  _   __
 |_) |  / \|/   (_  / \ | \  / |_ |_) (_ 
 |_) |_ \_/ \_ |\   __) \_/ |_ \/  |_ | \ __)
--> citb0in Solo-Mining Group <--- low stake of only 0.001 BTC. We regularly rent about 5 PH/s hash power and direct it to SoloCK pool. Wanna know more? Read through the link and JOIN NOW
bestie1549
Jr. Member
*
Offline Offline

Activity: 75
Merit: 5


View Profile
August 11, 2023, 08:36:34 PM
 #3113

Puzzle #66 is not about pattern dudes

is all about logic and hardware power

If you have a bunch of 4090's out there and a optimized software to search it so you are in the game, If no you'll realize that is not simple as you think.

there's no pattern.

I rented 4090s for 2 months. how do you think I lost the $23k?

what I need to know is what you meant by "optimized software"

Because I want to know your definition of searching the range wisely and not considering the speed and time and resources need and amount of investment or capital needed to complete the scan.

and I need to know your calculation for the keys/s and I know the best speed you can get on the 4090s is 5billion keys/s and if you use the keyhunt cuda you can use all the device in a machine to scan the range.

Please explain...
james5000
Jr. Member
*
Offline Offline

Activity: 69
Merit: 2


View Profile
August 11, 2023, 08:37:27 PM
 #3114

Check for yourself, generate a random key and tell us how many 1s and 0s it has. Do this at least 10 times and let us know.
you have not (yet) understood
Please, explain to me.

Code:
#!/bin/usr/env python3
#by citb0in, 2023/Aug/11
import random

def count_zeros_ones(binary_str):
    count_zeros = binary_str.count('0')
    count_ones = len(binary_str) - count_zeros
    return count_zeros, count_ones

def main():
    while True:
        n_input = input("Enter the number of random numbers to generate (or 'inf' for infinite): ")

        if n_input.lower() == 'inf':
            n = None
        else:
            n = int(n_input)

        bit_range = 2**66 - 1

        print(f"Generating {n if n is not None else 'infinite'} random numbers in a 66-bit range:")

        while n is None or n > 0:
            if n is not None:
                n -= 1

            num = random.randint(0, bit_range)
            binary_str = format(num, '066b')
            count_zeros, count_ones = count_zeros_ones(binary_str)

            print(f"Decimal: {num}")
            print(f"Hex: {hex(num)}")
            print(f"Binary: {binary_str}")
            print(f"Number of Zeros: {count_zeros}")
            print(f"Number of Ones: {count_ones}")
            print(f"Percentage of Zeros: {count_zeros / 66 * 100:.2f}%")
            print(f"Percentage of Ones: {count_ones / 66 * 100:.2f}%")
            print("=" * 30)

            zero_percentage = count_zeros / 66 * 100
            one_percentage = count_ones / 66 * 100

            if zero_percentage > 70 or one_percentage > 70:
                print("Binary percentage condition met. Exiting.")
                print(f"Found number: {num}")
                return

if __name__ == "__main__":
    main()

in this example I have entered 70% for imbalance of zero's and one's. Run the python program and enter 'inf' at the prompt and after a few seconds you will get a hit.

Quote
Decimal: 52671848116805094393
Hex: 0x2daf7fecb797ecbf9
Binary: 101101101011110111111111101100101101111001011111101100101111111001
Number of Zeros: 19
Number of Ones: 47
Percentage of Zeros: 28.79%
Percentage of Ones: 71.21%

Is this enough to understand the meaning of randomness ?

Generate randomly without defining percentages.
citb0in
Hero Member
*****
Offline Offline

Activity: 896
Merit: 782


Bitcoin g33k


View Profile
August 11, 2023, 08:38:31 PM
 #3115

Generate randomly without defining percentages.
Did you read the code?

Code:
...
bit_range = 2**66 - 1
...
num = random.randint(0, bit_range)

  _      _   _       __  _          _  _   __
 |_) |  / \|/   (_  / \ | \  / |_ |_) (_ 
 |_) |_ \_/ \_ |\   __) \_/ |_ \/  |_ | \ __)
--> citb0in Solo-Mining Group <--- low stake of only 0.001 BTC. We regularly rent about 5 PH/s hash power and direct it to SoloCK pool. Wanna know more? Read through the link and JOIN NOW
tptkimikaze
Newbie
*
Offline Offline

Activity: 25
Merit: 2


View Profile
August 11, 2023, 09:35:05 PM
 #3116

I'm reading the post and feel so funny about it.

I have no idea what's the point to argue about. One believe in power of random but another is discussing about math probability. You can even get 90% of 0 or 1 sometime but it's rare. James idea is just a type of probability to eliminate the less likely combination and doesn't guarantee it will find the key, as simple as that. Why is that so difficult to understand and try to bash people logical idea when they themselves can't find any. Is that so difficult to open the mind and listen to others?
james5000
Jr. Member
*
Offline Offline

Activity: 69
Merit: 2


View Profile
August 11, 2023, 09:40:00 PM
 #3117

Exactly, it's just a logic to avoid brute force on all combinations. If it doesn't make sense, present your idea.
tptkimikaze
Newbie
*
Offline Offline

Activity: 25
Merit: 2


View Profile
August 11, 2023, 09:45:19 PM
 #3118

Puzzle: 30       Zeros: 14       Ones: 16        Percent 0: 46.67%       Percent 1: 53.33%       Decimal: 1033162084 | Binary: 111101100101001100110101100100
Puzzle: 60       Zeros: 28       Ones: 32        Percent 0: 46.67%       Percent 1: 53.33%       Decimal: 1135041350219496382 | Binary: 111111000000011110100001100000100101001101100111101110111110

Puzzle: 32       Zeros: 17       Ones: 15        Percent 0: 53.12%      Percent 1: 46.88%       Decimal: 3093472814 | Binary: 10111000011000101010011000101110
Puzzle: 64       Zeros: 34       Ones: 30        Percent 0: 53.12%       Percent 1: 46.88%       Decimal: 17799667357578236628 | Binary: 1111011100000101000111110010011110110000100100010001001011010100

Puzzle: 33       Zeros: 17       Ones: 16        Percent 0: 51.52%       Percent 1: 48.48%       Decimal: 7137437912 | Binary: 110101001011011001010100011011000
Puzzle: 66       Zeros: 34       Ones: 32        Percent 0: 51.52%       Percent 1: 48.48%       Decimal: ? ? ? ? ? ? ? | Binary: ? ? ? ? ? ? ?
       ☝☝             ☝☝           ☝☝                  ☝☝☝☝                  ☝☝☝☝       Little Prediction according to previous binaries



Do you see any 80% or even 70% here? If he didn't see it, why is he so convince that James idea doesn't work? If you eliminate the less likely 80% above and 20% below, it is still kind of logical idea to eliminate those less likely key. Is that so difficult to understand? Nobody denying the key might be at above 80 or below 20, it's just less likely. That's what we call "Probability" in maths, not cluelessly brute forcing 100% of the range.
tptkimikaze
Newbie
*
Offline Offline

Activity: 25
Merit: 2


View Profile
August 11, 2023, 09:57:58 PM
 #3119

Exactly, it's just a logic to avoid brute force on all combinations. If it doesn't make sense, present your idea.

In my honest opinion, your idea is definitely have logic. Even if you can't find 66, you still have 67, 68, 69 unless all random hidden at top 70 or below 30.
bestie1549
Jr. Member
*
Offline Offline

Activity: 75
Merit: 5


View Profile
August 12, 2023, 03:43:51 AM
 #3120

Puzzle #66 is not about pattern dudes

is all about logic and hardware power

If you have a bunch of 4090's out there and a optimized software to search it so you are in the game, If no you'll realize that is not simple as you think.

there's no pattern.

I rented 4090s for 2 months. how do you think I lost the $23k?

what I need to know is what you meant by "optimized software"

Because I want to know your definition of searching the range wisely and not considering the speed and time and resources need and amount of investment or capital needed to complete the scan.

and I need to know your calculation for the keys/s and I know the best speed you can get on the 4090s is 5billion keys/s and if you use the keyhunt cuda you can use all the device in a machine to scan the range.

Please explain...

I am still waiting for an explanation for your defined term "optimized software"

The fastest I can achieve on a 14 * 4090 is below

GPU IDS      : 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13
GPU GRIDSIZE : 2048x512, 2048x512, 2048x512, 2048x512, 2048x512, 2048x512, 2048x512, 2048x512, 2048x512, 2048x512, 2048x512, 2048x512, 2048x512, 2048x512
SSE          : YES
RKEY         : 0 Mkeys
MAX FOUND    : 65536
BTC ADDRESS  : 13zb1hQbWVsc2S7ZTZnP2G4undNNpdh5so
OUTPUT FILE  : Found.txt

Start Time   : Sat Aug 12 03:37:01 2023
Global start : 2CA60FFFFFFFFFFFF (66 bit)
Global end   : 40000000000000000 (67 bit)
Global range : 1359F000000000001 (65 bit)

GPU          : GPU #6 NVIDIA GeForce RTX 4090 (128x0 cores) Grid(2048x512)

GPU          : GPU #2 NVIDIA GeForce RTX 4090 (128x0 cores) Grid(2048x512)

GPU          : GPU #7 NVIDIA GeForce RTX 4090 (128x0 cores) Grid(2048x512)

GPU          : GPU #3 NVIDIA GeForce RTX 4090 (128x0 cores) Grid(2048x512)

GPU          : GPU #13 NVIDIA GeForce RTX 4090 (128x0 cores) Grid(2048x512)

GPU          : GPU #0 NVIDIA GeForce RTX 4090 (128x0 cores) Grid(2048x512)

GPU          : GPU #5 NVIDIA GeForce RTX 4090 (128x0 cores) Grid(2048x512)

GPU          : GPU #9 NVIDIA GeForce RTX 4090 (128x0 cores) Grid(2048x512)

GPU          : GPU #4 NVIDIA GeForce RTX 4090 (128x0 cores) Grid(2048x512)

GPU          : GPU #1 NVIDIA GeForce RTX 4090 (128x0 cores) Grid(2048x512)

GPU          : GPU #8 NVIDIA GeForce RTX 4090 (128x0 cores) Grid(2048x512)

GPU          : GPU #12 NVIDIA GeForce RTX 4090 (128x0 cores) Grid(2048x512)

GPU          : GPU #10 NVIDIA GeForce RTX 4090 (128x0 cores) Grid(2048x512)

GPU          : GPU #11 NVIDIA GeForce RTX 4090 (128x0 cores) Grid(2048x512)

[00:02:26] [CPU+GPU: 71119.07 Mk/s] [GPU: 71119.07 Mk/s] [C: 0.000047 %] [R: 0] [T: 10,526,964,842,496 (44 bit)] [F: 0]

So I want to understand your magic for the defined term optimized software
Pages: « 1 ... 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 [156] 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 ... 369 »
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!